gpt4 book ai didi

javascript - 在 jquery ui 模式对话框中停止并稍后执行 javascript 事件

转载 作者:行者123 更新时间:2023-11-30 06:30:52 25 4
gpt4 key购买 nike

我想停止一个事件,显示一个模式对话框,如果用户按下是,则继续这个事件。 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');
});

感谢 friend 和 hashbrown 我设法解决了这个问题。一个事件不能被暂停和说服。如果它被暂停,它将阻塞整个 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 is undefined 并显示模态对话框。在模式对话框中单击"is"会触发 event.type(单击),show_dialog 的附加参数为 true。 http://api.jquery.com/trigger/#trigger-eventType-extraParameters

不可能 that.trigger(event, [true]);。我认为原因事件默认操作之前被阻止了。

最佳答案

那是因为在创建弹出窗口后,函数立即返回并且事件过期。
What you'll have to do .trigger() 是一个新事件。

注意:设置某种全局变量以忽略在您的匿名函数中触发的第二个事件(无限循环问题)。

请问你为什么要这样做? 点击会发生什么,如果你允许的话会发生什么?
如果它只是触发一个不同的函数,为什么不直接调用该函数而不是尝试 event.run()

关于javascript - 在 jquery ui 模式对话框中停止并稍后执行 javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17740298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com