有两种方法可以打开一个jQuery对话框:最佳实践
1)设置autoOpen=true
初始化时,一个对话框
2)初始化之后(与autoOpen = false
)请拨打电话$("#id").dialog("open");
目前,在我的代码中,只要用户单击按钮,模态对话框就会使用第一种方法打开。在“确定”或“取消”对话框关闭$(this).dialog("close");
在每次单击对话框时使用autoOpen = true打开对话框会不好吗?换句话说,每次点击都会重新初始化对话框,这不好吗?
从性能角度来看,每次点击都会重新初始化对话框,导致对话框事件被多次注册等问题?
这是什么jQuery的最佳做法?
代码:
$("#button").on("click",function(){
$("#dialogHello").dialog({
modal: true,
autoOpen: true,
buttons: [
{ "text" : "Ok", "click" : function() { $(this).dialog("close"); } },
{ "text" : "Cancel", "click" : function(){ $(this).dialog("close"); } }
]
});
});
但确实重新初始化真正膨胀? 我需要帮助来建立这方面的确凿证据。 – TchiYuan
看起来至少在页面中增加了额外的html:http://blog.balfes.net/2013/02/14/properly-cleaning-up-a-jquery-dialog-box-to-prevent-memory-leaks /(虽然它可能在此后的一年中发生了变化) –
是的,它添加了html,但它不会继续添加。如果它已经存在,它会重用它。就DOM而言,如果我每次都重新初始化jquery对话框,似乎没有任何影响。现在,我只是想知道对话事件。重新初始化被多次调用时,它们是否多次注册?它似乎并不如此,但很难说。 – TchiYuan