过去,我通常将对话框添加为HTML,如第一个示例所示。
我从不喜欢同时维护HTML页面和JavaScript页面,并且正在考虑使用第二个或第三个示例(哪个更像是jQueryish?)。
两种解决方案的优缺点是什么?例如,第二个或第三个解决方案是否会导致创建新的DOM,如果是这样会导致任何问题?或者他们是否会提高性能,因为JavaScript更有可能被缓存?或其他什么???
$("#click1").click(function() {$("#dialog").dialog("open");});
$("#dialog").dialog({
autoOpen : false,
modal : true,
buttons : [
{
text : 'CANCEL',
click : function() {$(this).dialog("close");}
}
]
});
$("#click2").click(function() {$("<div title='mytitle2'>hello2</div>").dialog({
modal : true,
buttons : [
{
text : 'CANCEL',
click : function() {$(this).dialog("close");}
}
]
});
});
$("#click3").click(function() {jQuery('<div/>', {title: 'my title3',text: 'hello3'}).dialog({
modal : true,
buttons : [
{
text : 'CANCEL',
click : function() {$(this).dialog("close");}
}
]
})
});
<p id="click1">Click1</p>
<p id="click2">Click2</p>
<p id="click3">Click3</p>
<div id="dialog" title="my title1">
hello1
</div>
答案 0 :(得分:0)
最好的情况是将HTML和JS分开。你不喜欢这个解决方案的主要原因是什么?
如果您必须将模板发送给必须重组某些DIV的设计师团队,该怎么办?很可能他们对Javascript没有或很少有想法,也不知道该怎么做。
优点示例1:
对比例2&amp; 3
示例2和3之间的好处
对比示例3