单击某个元素时如何打开以下对话框?我是否需要将其分配给某个变量(从而执行myDialogVariable.dialog("open")
)或为其添加ID(从而执行$('#myDialogID').dialog("open")
)?
$('body')
.append('<div title="My Dialog"><p>Some HTML</p></div>')
.dialog({
autoOpen : false,
modal : true,
open : function() {},
buttons : []
});
$('#someElement').click(function(){
//Open above dialog
});
答案 0 :(得分:1)
您的问题是您无法按照您定义的方式选择元素。
有几种方法可以做到这一点。
一个是(如你所假设的)将已定义的元素添加到全局变量中,但这不是最好的方法。
实现目标的最简单方法是为其提供ID。 id必须是唯一的。如果不是,那你就有问题了。
另一种方法是添加某种自定义属性,并选择定义了该属性的元素。但这不符合标准,因此也反对它。
编辑:“@帕夫是的,我知道。关注的是有人使用我的插件,但其余的JS本身。” - &GT;你创建了一些东西,你设置了一些规则,评论它们,制作文档。如果他想使用你的插件,那么另一个人的工作(使用你的插件的那个)是根据你的规则开发的。仍然......作为一个插件建议使用第一种方法(带var的方法)。
答案 1 :(得分:1)
根据您的代码,以下是您的一些示例:
HTML
<input id="btnOpenDialog" type="button" value="Open Dialog" />
因此,您在div
中添加了一些body
元素(我的网站中的一项更正已添加Id
到div
元素):
< / p>
$('body').append('<div id="myDlg" title="My Dialog"><p>Some HTML</p></div>')
然后您的click
事件将如下:
$('#btnOpenDialog').click(function(){
$('#myDlg').dialog();
});
同样,您应该始终关注Id
,其必须始终唯一
这就是你要求的吗?