选择Box Navigation:寡妇在页面加载时打开而不是更改

时间:2012-07-18 18:39:38

标签: javascript javascript-events drop-down-menu

我有一个带有一些选项的选择框。我想允许用户选择一个选项,然后转到存储在该选项的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);

1 个答案:

答案 0 :(得分:1)

您需要将函数传递给addEventListener(),而是调用它并传递其返回值。 newWindow()调用该函数。要传递它,您应删除括号:mySelectBox.addEventListener('change', newWindow, false);