0

我将 MustacheJS 模板(按钮元素)注入 HTML。如果单击,然后使用 JS 切换按钮的 CSS。此 JS 适用于所有按钮,但不适用于 mustachejs 创建的按钮:

function clickToggleCSS() {
    $(this).toggleClass('status0').toggleClass('status1');
}
$('button').on("click", clickToggleCSS);

请参阅this fiddle,其中上部按钮是真正的 HTML,底部按钮是使用 MustacheJS 注入的。

如何使它工作?(小提琴欣赏!)


解决方案(小提琴):

$('body').on('click', 'button', clickToggleCSS);
4

1 回答 1

3

尝试:

$('body').on('click', 'button', clickToggleCSS);

当您将处理程序直接添加到元素(如在您的代码中)时,它仅适用于在该代码运行时找到的元素。在该点之后添加的元素不受影响。通过使用委托处理程序(在这种情况下,在<body>元素上),任何未来按钮上的任何“单击”事件也将被处理。

于 2013-04-08T23:01:43.220 回答