:
lnk1.addEventListener('click', function() {
// do something
});
あなたがこれを行う必要がありますので、これは、バージョン9の前にIEでは動作しません:
var handler = function() {
// do something
};
if ("addEventListener" in lnk1) { // standards-compliant browsers
lnk1.addEventListener('click', handler);
} else { // Internet Explorer < v9
lnk1.attachEvent('onclick', handler);
}
を
これは動作し、HTML属性で指定された元の関数と上記のコードの両方が実行されます。 HOWEVER Javascriptでは、すべてのイベントハンドラを同じ場所に定義する方がはるかに良いでしょう。あなたのHTML属性からイベント処理ロジックを削除することについて懸命に考えてください。
JAVASCRIPT
lnk = document.getElementById('lnk1')
lnk1.onclick = function() { do something} \\ replace lnk1 with lnk
lnk.onclick = function() { do something} \\ this will work
あなたが変数としてlnk
を定義しましたが、あなたはonclick
イベントにlnk1
を呼び出している:
ルック。 – Shef
正確な重複はありませんが、参考になるほど十分に関連しています:http://stackoverflow.com/questions/2790583/javascript-append-to-onclick-event – David
@Baszzいいえ、それは動作しません。ブラウザは属性の文字列値を本格的なJavaScript関数に変換するので、文字列形式で追加コードを追加するだけで意味がありません。 – Pointy