JQuery UI对话框:动态OnClick监听器
JQuery UI Dialog: Dynamic OnClick Listener
如何在JQuery中动态启动UI对话框的OnClick事件?
每个svg -rect元素(1,2,…,1000)都应该能够打开这个对话框,同时也应该提交一个参数或ID来标识哪个svg被点击了。
相关的JS代码如下所示:$(function() {
$( "#request_1" )
.click(function() {
createForm();
$( "#dialog-form" ).dialog( "open" );
});
/*....*/
};
相关的HTML代码如下所示:
<svg version="1.1" width="720" height="125">
<rect id="request_1" x="180.5" y="15" width="39" height="15">
</rect>
</svg>
<svg version="1.1" width="720" height="125">
<rect id="request_2" x="180.5" y="15" width="39" height="15">
</rect>
</svg>
/*[...]*/
<svg version="1.1" width="720" height="125">
<rect id="request_1000" x="180.5" y="15" width="39" height="15">
</rect>
</svg>
这个问题来自这个例子,你可以找到完整的源代码:http://jqueryui.com/dialog/modal-form
想象一下你有1000个不同的按钮。
任何想法?我想使用一个简单的onClick将是一个解决方案,但如何启动。click(function())然后?
谢谢你的帮助!
可以将click
绑定到rect
,也可以在rect
上添加一个类,并将click
事件绑定到该类。
$( "rect" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
如果是动态添加的元素,则使用.on()
:
$(document).on('click', 'rect', function() {
$( "#dialog" ).dialog( "open" );
});
演示:http://jsfiddle.net/dirtyd77/Fdc6b/1/
如果你想添加动态元素,使用live函数为新元素附加事件,像这样:
$(function() {
$( "#request_1" ).live('click',function() {
createForm();
$( "#dialog-form" ).dialog( "open" );
});
/*....*/
};
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- Setting default onclick behavior for <img> tag in gene
- Javascript全局onclick监听器
- 如何调用“;链接_;在onclick事件上使用Javascript
- onclick函数需要双击,因为类分配延迟
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 使用onclick绘制SVG路径
- 如何在td元素中添加监听器
- 如何将数据从onclick按钮传递到变量
- 选择onclick事件jquery
- onclick的jquery属性监听器
- 如何在GridX中注册onClick监听器到dijit Button
- 用于onclick日历事件的监听器
- 如果onclick被按下,阻塞mouseout事件监听器
- Onclick监听器监听子元素点击
- 为什么onclick事件监听器被删除
- JavaScript监听器不触发onClick TamperMonkey
- JQuery UI对话框:动态OnClick监听器
- 画布中的Onclick监听器
- jQuery / javaScript - click / onclick事件监听器不工作,尽管闭包内循环