Javascript $(此)不处理委托()

Javascript $(此)不处理委托(),javascript,jquery,Javascript,Jquery,我有一些简单的代码,可以在事件上创建元素,其中一个元素是按钮,这个按钮有一个单击事件 <button id="' + packageNum.toString() + '" class="package-dup package-add-dup-' + packageNum.toString() + '" title="Add Duplicate Parcel">Duplicate Parcel</button>' + 这将$(This).attr('id')元素显示为未定

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

<button id="' + packageNum.toString() + '" class="package-dup package-add-dup-' +
packageNum.toString() + '" title="Add Duplicate Parcel">Duplicate Parcel</button>' +
这将$(This).attr('id')元素显示为未定义

如果我试着用一个普通的

$('.package-dup').click(function () { .... }
单击事件根本不起作用

使用jquery 2.0.3

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

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

尝试使用
.on()
。和
$(this)
可以很好地使用它。您有哪个jQuery版本?您缺少警报语法中的关闭按钮。嗯,它在小提琴中工作,但该按钮实际上是在事件上创建的,而不是直接在html中。.on()不执行任何操作,其行为与普通的.click()相同。我想知道是否需要以某种方式委托一个尚未在之前的事件上创建的按钮。@gerdi.on()方法的语法正在使用委托。您真的应该阅读文档您是否打开控制台并检查代码中的错误?你有没有仔细检查过课程等?这也适用于动态元素->@adeneo我已经读了大约4个小时的检查了。。我不知道为什么它在JSFIDLE中工作,而不是我的代码,但它不是。我真的很想发布所有的代码,但在这一小部分有很多。event.target.id也在工作。。谢谢A.沃尔夫
$(function () {
    $(document).on('click', '.package-dup', function () {
       alert( this.id );
    });
});