1

在我的项目中,我将几个按钮附加到 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() 但它已被弃用。

谢谢。

4

2 回答 2

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>");
于 2013-08-07T13:43:25.143 回答
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');
});

希望这有助于在此处查看 jQueries 文档以获得更多帮助。

于 2013-08-07T13:46:20.187 回答