私が達成しようとしていることがまったくできないかどうかわかりません。指定したHTMLページのすべてのアンカーオブジェクト(A
タグ)のデフォルトの動作を変更したいと思います。私はすべてのA
要素をループし、body要素onload
メソッドからそれぞれonclick
呼び出しを動的に追加することができますが、もっと絶対的な解決策を探しています。JavaScript(ja)のリンク( 'a')オブジェクトのデフォルトの動作をオーバーライドします
<a href="http://domain.tld/page.html">
が動的になった:
<a href="http://domain.tld/page.html" onclick="someMethodName('http://domain.tld/page.html'); return false;">
私のように何が必要なのは、すべてのA
の要素が引数として要素href
プロパティを渡すメソッドを呼び出すonclick
アクションを割り当てたので、下記の取得ということですこれを行う理想的な方法は、ドキュメントが読み込まれたときにアンカークラスをオーバーライドすることです。それが不可能な場合は、ループスルーすべてのA
要素メソッド(私はすでに方法を知っています)に頼ります。
まあ、イベントの委任では、すべてイベントをタックする必要はありません。たとえば、jQueryの「Live」を参照してください。 JavaScriptイベントの委任についても読んでください。 – Nosredna
これは通常、クライアントに向かう前にHTMLに行われます。あなたのページが複雑な場合は、イベントの委任を伴う非常に多くのプログラムを実行できます。 – Ben
実際、「クリック」イベントの場合、私は委任の問題が少なくなると思います。あなたを殺すマウスを追跡するのと同じものです。 – Nosredna