3

我有一个模态对话框,我在其中放置了一个 html 表单的内容。该表单有一个提交和取消按钮。我正在找到取消按钮,甚至通过非常慢地按 x 来关闭对话框。它只是太慢了几秒钟,但它足以让人认为疯狂的鼠标点击器可能会发疯。

有没有比我正在做的更好的方法来使用关闭功能和取消更改的更好方法:

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
});

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>

我可以在这里做任何优化吗?提前致谢。

4

1 回答 1

5

从对话框设置中的 close 事件中删除 close 调用:

var $dialog = $('#cameraform').dialog({
    modal:true,
    autoOpen: false,
    resizable:false,
    width: 625,
    close: function() {
      //  $(this).dialog('close'); //this is slow
    }
}); //init dialog

您正在从自身内部调用 close 事件,从而导致调用堆栈溢出。

于 2012-06-22T19:54:07.880 回答