我使用jquery触发更改事件,
var year = jQuery("#cq-year option:eq(2)").val();
jQuery("#cq-year").val(year).trigger('change');
但它在警告“缺少GetModels所需参数时显示错误。”
我在jQuery(window).load
上禁用了警报,但我只想禁用这些特定警报的警报。
window.alert = function() { };
那么如何重新启用此功能呢?
答案 0 :(得分:2)
将window.alert
功能保存在临时变量中,并在完成后重新分配。
var temp = window.alert;
window.alert = function() { };
alert('this is not shown');
window.alert = temp;
alert('this is shown');

答案 1 :(得分:0)
这个解决方案怎么样?
// Flag for alert
var canAlert = false;
// Backup the alert method
var alertBackup = window.alert
// Over ride alert method
window.alert = function(msg){
// Check if flag is enabled before alerting
if(canAlert){
alertBackup(msg)
}
}
在您希望警报生效时生成canAlert = true
答案 2 :(得分:0)
您可以使用效用函数callNoAlert
:
function callNoAlert (fn) {
var a = alert
window.alert = Function.prototype
fn()
window.alert = a
}
callNoAlert(function () {
alert("ANNOYING ALERT!") // does not run!
console.log("alert() didn't run!")
})
callNoAlert(function () {
var year = jQuery("#cq-year option:eq(2)").val();
jQuery("#cq-year").val(year).trigger('change');
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;