我在我创建的一个.js文件中运行所有jquery代码时遇到问题。根据通过AJAX填充的列表,以下代码按英镑计算金属价格。这段代码在我自己的服务器上运行正常,但是一旦我将它实现到我的客户端WordPress页面,它就会中断。这是代码:
$(document).ready(function(){
$.get("wp-parse-list.php",function(ajaxresult){
$(ajaxresult).insertAfter(".purchase-calc-header");
});
});
$(document).ready(function(){
$(".calc-input").keyup(function() {
var priceTexts = [];
$(".metalPrice").each(function() {
priceTexts.push($(this).text().replace("$", ""));
});
var ammountInd = [];
var i = 0;
$(".calc-input").each(function() {
ammountInd.push($(this).val() * priceTexts[ i ]);
i = i + 1;
});
var total = 0;
$.each(ammountInd,function() {
total += this;
});
var total = total.toFixed(2);
$('.total-price').text('$' + total);
if (total > 99.99) {
$('.free-pickup').text("This Order Qualifies for Free Pick Up").css('color', 'green');
} else {
$('.free-pickup').text("This Order Does Not Qualify for Free Pick Up").css('color', 'red');
}
});
});
$(function () {
$(".calc-input").keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
});
});
现在,我注意到如果我在代码中(任何地方)插入一个alert()标记,它会导致wordpress页面加载暂停,并允许加载DOM和函数。不幸的是,我不能拥有此页面上显示的警报只是为了正常使用此功能。而不是将问题追溯到wordpress模板或插件中的某些内容,是否有办法防止这些事件发生,直到所有其他事件都完成加载?如何解决这个问题的任何建议将不胜感激!