0

MustacheJS テンプレート (ボタン要素) を HTML に挿入します。次に、JS を使用して、クリックされた場合にボタンの CSS を切り替えます。この JS はすべてのボタンで機能しますが、mustachejs によって作成されたボタンでは機能しません。

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

上のボタンが真の HTML で、下のボタンが MustacheJS を使用して挿入されているこのフィドルを参照してください。

それを機能させる方法は?(フィドル感謝します!)


解決策(フィドル):

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

1 に答える 1

3

試す:

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

(コードのように) 要素にハンドラーを直接追加すると、そのコードが実行された時点で見つかった要素にのみ適用されます。それ以降に追加された要素は影響を受けません。委任されたハンドラー (この場合は<body>要素上) を使用することで、将来のボタンの「クリック」イベントも処理されます。

于 2013-04-08T23:01:43.220 に答える