在jqueryui模态对话框中停止并稍后处理javascript事件
stop and later persue javascript event in jquery ui modal dialog
我想停止一个事件,显示一个模式对话框,如果用户按下yes,则显示该事件。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');
});
多亏了一个朋友和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未定义,并显示模式对话框。在模式对话框中单击"是"将触发事件。键入(单击)show_dialog的附加参数true。http://api.jquery.com/trigger/#trigger-eventType extra参数
that.trigger(event, [true]);
是不可能的。我认为原因事件默认操作以前被阻止过。
这是因为在创建弹出窗口后,函数立即返回,事件过期
你要做的是.trigger()
一个新的事件。
注意:设置某种全局变量以忽略匿名函数中的第二个事件触发(无限循环问题)。
我能问一下你为什么要这么做吗;如果你让click
爆炸,它会怎么办
如果它只是启动一个不同的函数,为什么不直接调用该函数而不是尝试event.run()
呢?
相关文章:
- 单击按钮后启动javascript提示
- AJAX调用后使用JavaScript处理数据(CakePHP 2.6.x)
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 在ISO转换后,JavaScript时间滞后了一个小时
- 在另一个输入后在Javascript中添加值
- 如何在页面加载完成后暂停JavaScript
- 如何处理javascript中的循环引用,类似于Excel提供迭代限制的方式
- PhoneGap如何在更改window.location/document.location后保持Javascript的
- 页面加载后通过javascript显示图像
- 函数1结束后,JavaScript调用函数2
- 提交表单javascript后处理完整事件
- 删除节点后的 JavaScript 事件处理程序
- ASP.Net服务器处理完成后调用Javascript函数
- 捆绑后如何处理Javascript依赖
- 客户端在接收到"Location"后如何处理JavaScript ?HTTP报头
- 从Flask返回一个错误消息,并在AJAX请求后用JavaScript处理它
- 使用javascript对页面进行后处理
- 如何在ASP上处理UpdateProgress后触发JavaScript事件.净c#
- 返回JsonConvert.SerializeObject(JSON)后在javascript上解析JSON.净处理程序
- 翻译代数表达式以便在javascript中进行后处理