Javascript jQuery+;HTML代码在手机上不起作用
上一次我发布了这个该死的代码(可能不是,哈哈!),但我的代码在桌面和平板电脑上运行得非常好,但是一旦它进入移动设备,代码就会中断,我会收到一大堆错误。我是否使用了手机上不支持的折旧代码 在Pixel 3 XL+Chrome开发工具上测试(响应模式) 任何帮助都将不胜感激 HTMLJavascript jQuery+;HTML代码在手机上不起作用,javascript,jquery,html,Javascript,Jquery,Html,上一次我发布了这个该死的代码(可能不是,哈哈!),但我的代码在桌面和平板电脑上运行得非常好,但是一旦它进入移动设备,代码就会中断,我会收到一大堆错误。我是否使用了手机上不支持的折旧代码 在Pixel 3 XL+Chrome开发工具上测试(响应模式) 任何帮助都将不胜感激 HTML 这和你的钥匙事件有关吗?在没有键盘的移动设备上是否会触发keyup事件?可能正在执行某些例程,但尚未调用您的计算函数。嗯,好主意。我将尝试对此进行一些研究,看看这是否是问题所在。我可以试着把它改成touchend或in
这和你的钥匙事件有关吗?在没有键盘的移动设备上是否会触发keyup事件?可能正在执行某些例程,但尚未调用您的计算函数。嗯,好主意。我将尝试对此进行一些研究,看看这是否是问题所在。我可以试着把它改成touchend或input,看看是否能解决它。嗯,它没有。将keyup更改为input或touchend会破坏代码。我认为最好的方法是将它们组合在一起,如:.on('keyup input',function(){…您是否尝试过这样的sthg?将代码更新为.on('keyup input',function(){),但它仍然会在手机上的输出字段中抛出一系列NaN错误。在桌面和平板电脑上非常有效。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="title">VET Student Loans Repayment Calculator</p>
<p class="text">
<br><br> How much do you earn per year?
</p>
<select onchange="calculateTotals()" name="annualincome" class="input" id="income" placeholder="Your Annual Income">
<option value="" disabled selected hidden>Your Annual Income</option>
<option value="0">Below $45,881</option>
<option value="0.01">$45,881 - $52,973 (1%)</option>
<option value="0.02">$52,974 - $56,151 (2%)</option>
<option value="0.025">$56,152 – $59,521 (2.5%)</option>
<option value="0.03">$59,522 - $ 63,092 (3%)</option>
<option value="0.035">$63,093 - $66,877 (3.5%)</option>
<option value="0.04">$66,878 - $70,890 (4%)</option>
<option value="0.045">$70,891 - $75,144 (4.5%)</option>
<option value="0.05">$75,145 - $79,652 (5%)</option>
<option value="0.055">$79,653 - $84,432 (5.5%)</option>
<option value="0.06">$84,433 - $89,498 (6%)</option>
<option value="0.065">$89,499 - $94,868 (6.5%)</option>
<option value="0.07">$94,869 - $100,560 (7%)</option>
<option value="0.075">$100,561 - $106,593 (7.5%)</option>
<option value="0.08">$106,594 - $112,989 (8%)</option>
<option value="0.085">$112,990 - $119,769 (8.5%)</option>
<option value="0.09">$119,770 - $126,955 (9%)</option>
<option value="0.095">$126,956 - $134,572 (9.5%)</option>
<option value="0.10">$134,573 and above (10%)</option>
</select>
<p class="text">
Course Cost
</p>
<span class="prefix">$</span>
<input type="text" class="input value1" placeholder="0">
<p class="text">20% Loading Fee</p>
<span class="prefix">$</span>
<input type="text" class="input" id="loading" disabled="disabled" placeholder="0"><br>
<p class="text">Total VET Student Loan Amount</p>
<span class="prefix">$</span>
<input type="text" class="input" disabled="disabled" id="result" placeholder="0"><br>
<p class="text">
Your estimated after tax repayments are; <br><br> Per Year
</p>
<span class="prefix">$</span>
<input type="text" class="input" disabled="disabled" id="peryearresult" placeholder="After Tax Repayment - Yearly">
<p class="text">
Per Month
</p>
<span class="prefix">$</span>
<input type="text" class="input" disabled="disabled" id="permonthresult" placeholder="After Tax Repayment - Monthly">
<p class="text">
Per Fortnight
</p>
<span class="prefix">$</span>
<input type="text" class="input" disabled="disabled" id="perfortnightresult" placeholder="After Tax Repayment - Fortnightly">
<p class="text">
Per Week
</p>
<span class="prefix">$</span>
<input type="number" class="input" disabled="disabled" id="perweekresult" placeholder="After Tax Repayment - Weekly">
$(document).ready(function() {
$('input[type="text"]').keyup(function() {
calculate();
});
$('#income').change(function() {
calculate();
});
function calculate(){
var val1 = parseFloat($('.value1').val());
var val2 = parseFloat($('.value2').val());
var val3 = parseFloat($('.value3').val());
var val4 = parseFloat($('#income').val());
var sum = val1 + (val1 / 100 * 20);
$("input#result").val(sum);
sum = (val1 / 100 * 20);
$("input#loading").val(sum);
sum = Math.round(((val1 + (val1 / 100 * 20)) * val4) * 100) / 100;
$("input#peryearresult").val(sum);
sum = Math.round(((val1 + (val1 / 100 * 20)) * val4 / 12) * 100) / 100;
$("input#permonthresult").val(sum);
sum = Math.round(((val1 + (val1 / 100 * 20)) * val4 / 26) * 100) / 100;
$("input#perfortnightresult").val(sum);
sum = Math.round(((val1 + (val1 / 100 * 20)) * val4 / 52) * 100) / 100;
$("input#perweekresult").val(sum);
}
});