2012-07-18 321 views
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); 

回答

1

您需要的功能傳遞給addEventListener(),而是你調用它,並通過它的返回值。 newWindow()調用該函數。要通過它,你應該刪除括號:mySelectBox.addEventListener('change', newWindow, false);

+0

你太棒了!感謝您及時的回覆。 – JulianJohannesen 2012-07-18 21:04:56