[英]Add an onClick event to append()
我正在动态创建一个div。 我想为它添加一个onClick()事件。
如何在<div class="something" id="btnHome" onClick="return true">
添加一个onClick?
abc.append(
$('<div />', { class: 'something', id: 'btnHome' })
);
编辑:
我正在寻找这样的答案
$('<div />', { class: 'something', id: 'btnHome' onClick: 'return true' })
使用event delegation
:
事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。
对于动态添加的元素,使用parent将事件添加到添加的元素。
$(staticParentSelector).on('click', '.something', function () {
// Event Handler Code here
});
您也可以使用document
,但这会降低性能
$(document).on('click', '.something', function () {
// Event Handler Code here
});
看到jQuery的文档的on
事件委托是正确的方式,@ Tushar为您提供答案。 但是,如果你喜欢这样的事情:
$('<div />', { class: 'something', id: 'btnHome' onClick: 'return true' })
然后,您可以这样做:
$('<div/>', {
'text': 'new',
'class': 'something',
'id': 'btnHome'
}).on({
'click': function() { alert ("clicked") }
});
演示@Fiddle
正如斜视在下面的评论中所暗示的那样,您也可以使用click
作为属性,就像text
或id
一样,如下所示。
$('<div/>', {
'text': 'new',
'class': 'something',
'id': 'btnHome',
'click': function() { alert ("clicked") }
});
您可以使用委托事件,因此添加到您的jquery代码:
$(document).on('click','#btnhome',function(){'do something here'});
您可以使用DOM中已有的文档或任何其他父元素
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.