在我的项目中,我将几个按钮附加到div:
$(".tab-content").append("<div class='landing_content'><button class='off-screen-nav-button btn btn-info btn_edit' data-effeckt='effeckt-off-screen-nav-right-overlay'>Edit</button></div>");
然后使用以下代码收听点击:
$(".tab-content").on("click",".btn-edit",function(){
console.log('edit');
});
为什么这不起作用?我习惯使用.live()但它已被弃用。
感谢。
答案 0 :(得分:7)
在您的标记中,您有btn_edit
,在您的jQuery中,您有btn-edit
。
更改标记class
以匹配jQuery选择器,如下所示:
$(".tab-content").append("<div class='landing_content'><button class='off-screen-nav-button btn btn-info btn-edit' data-effeckt='effeckt-off-screen-nav-right-overlay'>Edit</button></div>");
答案 1 :(得分:4)
你的方法不起作用的原因(除了有关btn-edit
的指出之外)可能是因为你试图将一个事件绑定到DOM中实际不存在的元素,直到它之后附加了,曾经是已经折旧的LIVE,但你可以这样做:
//bind the event to the document which always exists and specify the selector
//as the second argument
$(document).on("click",".tab-content .btn-edit",function(){
console.log('edit');
});
希望这有助于查看文档here上的jQueries以获得更多帮助。