如何让jQuery与Underscore一起使用?

And*_*ndy 2 javascript jquery underscore.js

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

<input type='checkbox' name='contacted_by_ae' class='contactedbyae'>
Run Code Online (Sandbox Code Playgroud)

我现在正试图检测更改,以便用户点击它.它会发布

$('.contactedbyae').change(function() {
    $.post( "/contactedbyae", function( data ) {
        alert(data);
    });
});
Run Code Online (Sandbox Code Playgroud)

上面的jQuery不起作用.我把它放在我的.html文件和我的实际下划线模板文件中,我无法工作.我如何让它工作?

dfs*_*fsq 8

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

$('body').on('change', '.contactedbyae', function() {
    $.post( "/contactedbyae", function( data ) {
        alert(data);
    });
});
Run Code Online (Sandbox Code Playgroud)

而不是body最好使用容器选择器渲染模板HTML附加到.

  • @Stan,如果模板多次重新渲染,则不行.事件可能在第一次绑定,但后续呈现将清除事件处理程序.事件委派是正确的解决方案. (4认同)