我有一个模态对话框,我将html表单的内容放在里面.表单有一个提交和取消按钮.我找到了取消按钮,甚至通过点击x很慢来关闭对话框.它只有几秒钟太慢,但它足够长,认为有一个问题,疯狂的鼠标答题器可能会疯了.
是否有更好的方法来使用close函数和更好的方法来取消更改,而不是我正在做的事情:
var $dialog = $('#cameraform').dialog({
modal:true,
autoOpen: false,
resizable:false,
width: 625,
close: function() {
$(this).dialog('close'); //this is slow
}
}); //init dialog
//events
$('.addwebcam').click(function(e) {
$dialog.dialog('open');
});
$(".cancel_changes").click(function() {
$dialog.dialog('close'); //this is slow
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<button class="addwebcam">Add Webcam</button>
<div id="cameraform" title="Add a camera">
...//my form
<button type='button' class='cancel_changes' name='cancel_changes' value='Cancel'>Cancel</button>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以在这做任何优化吗?提前致谢.
摆脱对话框设置中关闭事件的近距离调用:
var $dialog = $('#cameraform').dialog({
modal:true,
autoOpen: false,
resizable:false,
width: 625,
close: function() {
// $(this).dialog('close'); //this is slow
}
}); //init dialog
Run Code Online (Sandbox Code Playgroud)
您正在从内部调用close事件,从而导致调用堆栈溢出.