1

我使用车把附加了一些 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>

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

4

2 回答 2

2

改变这个:

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

对此:

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

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

于 2013-09-16T15:11:18.183 回答
2

假设“注入”是指示例中的元素在页面加载后动态附加到 DOM,则需要使用委托事件处理程序:

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

请注意,document在我的示例中,应将其更改为最近的静态元素以获得最佳性能。

于 2013-09-16T15:11:38.560 回答