在<select>
元素下尝试使用onclick事件侦听器添加选项,但是当我添加后无法创建选项。
function setSouresFromField(input1,input2) {
// large code...: for actions
}
var option = document.createElement("option");
option.value = sourceInfos[i].id; //works
option.text = sourceInfos[i].label;//works
option.addEventListener('click', setSourcesFromField(true, true) ); //does not work
答案 0 :(得分:0)
在最后一行中,您正在调用 setSourcesFromField
并将您的事件监听器设置为其返回值(如果有的话,如果您的fn确实如此,它将只是undefined
不归还任何东西)。这更有可能是你想要的:
option.addEventListener('click', function(event){
// work with event object if necessary
setSourcesFromField(true, true);
});
答案 1 :(得分:0)
尝试使用此方法:
element.addEventListener('click', function() { /* do stuff here*/ }, false);
最后一个布尔参数控制侦听器对冒泡事件的反应[见here]。