[英]stop and later persue javascript event in jquery ui modal dialog
我想停止一個事件,顯示一個模式對話框,如果用戶按下“是”,則繼續該事件。 event.run()在Firefox中帶來錯誤。
jQuery(element).click(function(event) {
event.preventDefault();
dialog.dialog({
buttons: {
'Ja': function() {
event.run();
},
'Nein': function() {
jQuery(this).dialog('close');
}
}
}).dialog('open');
});
多虧了一個朋友和哈希棕,我設法解決了這個問題。 無法暫停和說服事件。 如果暫停,它將阻止整個DOM。 嘗試:
jQuery(link).click(function(){while(true)});
當使用jQuery時,可以設置其他事件參數:
jQuery(element).click(function(event, show_dialog) {
var that = jQuery(this);
if(!show_dialog) {
dialog.dialog({
buttons: {
'Yes': function() {
that.trigger(event.type, [true]);
},
'No': function() {
jQuery(this).dialog('close');
}
}
}).dialog('open');
return false;
} else {
dialog.dialog('close');
return true;
}
});
第一次單擊show_dialog是未定義的,並顯示模式對話框。 在模式對話框中單擊“是”會觸發event.type(單擊),並為show_dialog附加參數true。 http://api.jquery.com/trigger/#trigger-eventType-extraParameters
that.trigger(event, [true]);
不可能that.trigger(event, [true]);
。 我認為原因事件默認操作之前已被阻止。
那是因為在創建彈出窗口后,函數立即返回並且事件終止。
您需要做的是.trigger()
一個新事件。
注意:設置某種全局變量以忽略匿名函數中的第二個事件觸發(無限循環問題)。
請問您為什么要這樣做? 如果您click
將消失怎么辦?
如果它只是觸發了另一個函數,為什么不調用該函數而不是嘗試event.run()
呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.