[英]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.