jQuery.on( events , selector , data)
メソッドの主な機能を純粋なJavascriptでエミュレートします。
例えば
$(document).on('click','.button',function() {
console.log("jquery onclick");
});
このようなものを作るだけで十分だと思いました
document.addEventListener('click',function(e) {
if(e.target.className == 'button2') {
console.log("It works");
}
});
ただし、このhtml構造がある場合:
<button class="button2">Hello <span>World</span></button>
span
要素でクリック イベントがトリガーされた場合、私のスクリプトe.target
は機能しませんspan
。(この質問では、複数のクラスを持つ要素の複雑さとクロスブラウザーの互換性は無視します)
jQueryのソースは読みやすくなく、どのように機能するのかわかりません (jQuery の最初のコード部分が私の html 構造で機能するため)。
私のhtmlは動的で、このクラスのボタンは何度も作成、削除、再作成されるため、このメソッドが必要です。毎回リスナーを追加したくありません。
可能であれば、jquery ライブラリを含めないようにします。
それで、私はこれを行うことができますか?
テスト用のjsFiddleを次に示します。