すべての JavaScript を別のドキュメントに保存したいのですが、その方法が気に入っています。ここで、HTML コードから別の JavaScript ドキュメントに移動するコードの最後の部分で問題が発生しました。
次のような 2 つのイベント ハンドラを取得しました。
<a href="http://www.commercial.se" onclick="confirmLeave()" target="_blank">
と
<IMG SRC="folder/pic_small.jpg" alt="Description" onClick="view(this);">
これは、2 つのイベント ハンドラの JavaScript コードです。
function confirmLeave()
{
if(confirm("Vill du lämna Blomstermåla-Bladet?")) {
return true;
} else {
if(window.event) {
window.event.returnValue = false;
} else {
e.preventDefault();
}
return false;
}
}
と
function view(img) {
imgsrc = img.src.split("_")[0] + "_big.jpg";
viewwin = window.open(imgsrc,'viewwin', "width=790,height=444,location=0");
viewwin.focus();
}
HTML を次のように変更することで、最初の onClick イベントハンドラの HTML ドキュメントに JavaScript コードがないという問題を解決できました。
<a href="http://www.commercial.com" id="external-link" target="_blank">
そして、これを私のJavaScriptドキュメントに追加します:
function init()
{
var link = document.getElementById("external-link");
link.onclick = confirmLeave;
}
window.onload = init;
同様のソリューションを他のイベントハンドラーに追加しようとしましたが、それを機能させるために使用する必要があるコードがわかりません。そのイベント ハンドラを init 関数にも追加する方法を知りたいです。