Javascript 如何让jQuery使用下划线?

Javascript 如何让jQuery使用下划线?,javascript,jquery,underscore.js,Javascript,Jquery,Underscore.js,我在模板中有一个下划线模板我有这个 <input type='checkbox' name='contacted_by_ae' class='contactedbyae'> 但是,上面的jQuery不起作用。我把它放在我的.html文件和我的实际下划线模板文件中,这两个文件都无法使用。如何使其工作?听起来页面上似乎没有.contactedbyae元素,因为在注册事件处理程序时尚未呈现模板。在这种情况下,活动授权将有助于: $('body').on('change', '.conta

我在模板中有一个下划线模板我有这个

<input type='checkbox' name='contacted_by_ae' class='contactedbyae'>

但是,上面的jQuery不起作用。我把它放在我的.html文件和我的实际下划线模板文件中,这两个文件都无法使用。如何使其工作?

听起来页面上似乎没有
.contactedbyae
元素,因为在注册事件处理程序时尚未呈现模板。在这种情况下,活动授权将有助于:

$('body').on('change', '.contactedbyae', function() {
    $.post( "/contactedbyae", function( data ) {
        alert(data);
    });
});

与其使用
body
,不如使用容器选择器呈现模板,HTML被附加到模板中。

我认为您在设置事件侦听器之前没有附加“已编译”模板。您可以使用而不是
change
one来绑定您的回调…

请添加有关您收到的特定错误的更多信息我没有收到任何错误,它只是不起作用。如果我把代码放在控制台中,它可以工作,但不能放在.html或下划线文件中。是的,这就是我的意思。他能不能把他的事件处理程序包装在document.ready块中?@Stan,如果模板被多次重新呈现,就不能了。事件可能会在第一次绑定,但随后的渲染将清除事件处理程序。事件委派是正确的解决方案。
$('body').on('change', '.contactedbyae', function() {
    $.post( "/contactedbyae", function( data ) {
        alert(data);
    });
});