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 回答