2017-03-09 1 views
-1

私は特定の機能に対してwindow.alertを無効にして再度有効にする方法はありますか?

var year = jQuery("#cq-year option:eq(2)").val(); 
jQuery("#cq-year").val(year).trigger('change'); 

、ドロップダウン使用してjqueryのためのトリガ変更イベントだが、アラート内の表示エラー「GetModelsに欠けている必要なパラメータ。」 jQuery(window).loadでアラートを無効にしましたが、これらのアラートのアラートを無効にしたいだけです。

window.alert = function() { }; 

この機能を再度有効にするにはどうすればよいですか?

答えて

1

テンポラリ変数にwindow.alert関数を保存し、終了時に再割り当てします。このソリューションについて

var temp = window.alert; 
 
window.alert = function() { }; 
 
alert('this is not shown'); 
 
window.alert = temp; 
 
alert('this is shown');

+0

まあ今のおかげでたくさんの作業、 あなたの助けに感謝。 –

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) 
    } 
} 

アラートあなたはそのためのユーティリティ機能callNoAlertを使用することができます

+0

助けてくれてありがとうございました。 –

0

を仕事をしたい、これまでときcanAlert = trueを行います

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>

関連する問題