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