Jquery点击没有绑定

时间:2013-09-16 15:09:52

标签: jquery

我使用了把手附加了一些html,但我无法从超链接中获取该事件:

JS - 在document.ready。

期间调用此代码
$(".media-item a.meddelete").unbind("click");
$(".media-item a.meddelete").click(function (event) {
    event.preventDefault();
    var id = $(this).data("assetid");
    alert(id);
});

HTML

<div class="media-item">
   <p><a href="ImageManipulation.aspx">Edit</a></p>
   <p><a href="#" class="meddelete">Delete</a></p>
</div>

我看不出有什么问题,有什么想法吗?

2 个答案:

答案 0 :(得分:2)

改变这个:

$(".media-item a.meddelete").click(function (event) {

到此:

$(document).on('click', ".media-item a.meddelete", function (event) {

如果要动态地向页面添加元素,则需要使用jQuery的事件委托语法。

答案 1 :(得分:2)

假设通过'inject'表示示例中的元素在页面加载后动态地附加到DOM,您需要使用委托的事件处理程序:

$(document).on('click', '.media-item a.meddelete', function (event) {
    event.preventDefault();
    var id = $(this).data("assetid");
    alert(id);
});

请注意,我的示例中的document应更改为最接近的静态元素,以获得最佳效果。