$(this) 不适用于 delegate()

$(this) not working on delegate()

本文关键字:delegate 适用于 不适用 this      更新时间:2023-09-26

我有一些简单的代码可以在事件上创建元素,其中一个元素是一个按钮,这个按钮有一个单击事件。

<button id="' + packageNum.toString() + '" class="package-dup package-add-dup-' +
packageNum.toString() + '" title="Add Duplicate Parcel">Duplicate Parcel</button>' +

我只是想从按钮单击事件上的此按钮获取 id 属性。

$(function () {
    $("body").delegate(".package-dup", "click", function () {
       alert($(this).attr('id'));
})

这将 $(this).attr('id') 元素显示为未定义。

如果我尝试使用普通的

$('.package-dup').click(function () { .... }

单击事件根本不起作用。

使用 jquery 2.0.3

尝试使用 on() 并修复语法错误:

$(function () {
    $(document).on('click', '.package-dup', function () {
       alert( this.id );
    });
});

小提琴