可以防止觸發onchange事件嗎? 我想在任何情況下防止它(如失去對輸入的重點),並只有當我手動這樣做時觸發它:防止在輸入上觸發onchange
$('#my_input_id').val('a value').change()
;
可以防止觸發onchange事件嗎? 我想在任何情況下防止它(如失去對輸入的重點),並只有當我手動這樣做時觸發它:防止在輸入上觸發onchange
$('#my_input_id').val('a value').change()
;
只需將您的事件中設置此:
if (en==1){
//code here
en=0;
}
,只是設置連接之前手動調用
en=1;
$('#my_input_id').val('a value').change()
我們設置到底恩回零的功能,所以我們不小心重新啓用它。行動
如果我理解你的問題,這裏是我的解決方案:
HTML:
<input type="text" id="inp">
<input type="button" id="btn" value="trigger change">
JQuery的:
$("#inp").change(function(e, data) {
if (data) {
console.log("change by trigger");
} else {
console.log("normal change");
}
})
$("#btn").click(function() {
$("#inp").val("12").trigger("change", true);
})
這仍會觸發「正常更改」 。儘管有或沒有功能,我不想通過更改功能進入。 –
@MoroianuAlexandru你在找'e.preventDefault()'嗎? –
是的,但我不知道如何使用它。我試圖阻止默認()onfocusout,但它仍然觸發onchange。 –
爲什麼不能代替觸發自定義事件? ??或者只是在需要時調用一個函數?無論如何,這聽起來像一個[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –
當一個javascript onchange事件被觸發時,一個鏈接的基於Ajax的函數我的控制器提交數據。我想防止這種情況發生,並控制何時調用我的控制器中的函數。請注意,只有在調用javascript onchange時才調用該函數。 –
因此,如果您不想發送有關輸入更改的數據,爲何首先將此邏輯設置爲更改事件處理程序?也許我錯過了一些東西,但是這真的不清楚你在說什麼 –