[英]How can I preventDefault inside a callback inside an event handler?
例如我有類似的東西
$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
我想防止在show函數的回調內單擊按鈕的Default行為(以確保在運行myvar函數之前顯示show div)。 但是,我無法使preventDefault()起作用。 我該如何實現? 謝謝!
請檢查下面的更新代碼,我認為您還需要在show函數中定義事件。
$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(event){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
希望這對您有用。
它不應位於回調內部。
如果將其放在回調中,則默認行為將已經觸發:
$('div').on('click', '.button', function(event)
event.preventDefault();{
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
}
});
});
在代碼中,您沒有將事件作為參數傳遞。 改成
$('.showdiv').show('fast', function(){
var myvar = someFunction(event); // pass parameter
if(myvar == 1){
event.stopPropagation();
event.preventDefault();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.