我有一个带有一些选项的选择框。我想允许用户选择一个选项,然后被带到存储在该选项的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);
您需要将函数传递给addEventListener()
,但您需要调用它并传递它的返回值。newWindow()
调用该函数。要传递它,您应该删除括号:mySelectBox.addEventListener('change', newWindow, false);