繁体   English   中英

添加onClick事件以追加()

[英]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作为属性,就像textid一样,如下所示。

$('<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM