1
window.onload = init;

function init(){
    var allSelect = document.getElementsByTagName("option");
    for (var i = 0; i < allSelect.length; i++){
        allSelect[i].onchange = loadLink;
    }
}

function loadLink(){
     alert("TEST");
}

所以我正在为一个班级解决这个问题,而且功能非常简单。我用一个简单的警报替换了所需的代码,因为即使逐点跟踪断点也不会运行 loadLink() 函数。AllSelect 已填充,并且都具有 {} 中指定代码的 onchange 值。

我也尝试过手动将其放入 html 元素中,但仍然无法正常工作。

有任何想法吗?如果有人想知道的话,我正在使用 IE 和 Chrome 在我的计算机上本地运行。提前谢谢。

4

2 回答 2

5

onchange 事件属于 select 元素,而不是 option 元素。所以:

window.onload = init;

function init(){
    var allSelect = document.getElementsByTagName("select");
    for (var i = 0; i < allSelect.length; i++){
        allSelect[i].onchange = loadLink;
    }
}

function loadLink(){
     alert("TEST");
}
于 2013-04-18T01:51:21.620 回答
0

我想你想要

    var allSelect = document.getElementsByTagName("select");

相反,您正在查询 DOM 中的选择项中的选项元素。

于 2013-04-18T01:53:10.597 回答