0

いくつかのオプションがある選択ボックスがあります。ユーザーがオプションを選択して、そのオプションのvalue属性に格納されているURLに移動できるようにしたい。ただし、私のスクリプトは、変更時ではなく、ページの読み込み時に新しいウィンドウを開き続けます。なぜ?!ヘルプ!

function selectBoxNav() {
"use strict";
var mySelectBox = document.getElementById('mySelectBox');
var myOption = mySelectBox.options[mySelectBox.selectedIndex];
var myURL = myOption.value;
function newWindow() {
  window.open(myURL);
}
mySelectBox.addEventListener('change', newWindow(), false);
}

window.addEventListener('DOMContentLoaded', selectBoxNav(), false);
4

1 に答える 1

1

関数をに渡す必要がありますaddEventListener()が、代わりに関数を呼び出して戻り値を渡します。newWindow()関数を呼び出します。それを渡すには、括弧を削除する必要があります。mySelectBox.addEventListener('change', newWindow, false);

于 2012-07-18T18:49:28.063 に答える