Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Select元素未附加addEventListener_Javascript_Html - Fatal编程技术网

Javascript Select元素未附加addEventListener

Javascript Select元素未附加addEventListener,javascript,html,Javascript,Html,我正在尝试创建一个select元素并向其中添加一个“input”事件。使用JavaScript的所有内容如下所示: 功能显示选择选项(str){ 警报(str); } var list=document.createElement(“选择”); list.id=“listId”; list.addEventListener('input',showSelectedOption(this.selectedIndex)); 对于(变量i=0;i

我正在尝试创建一个select元素并向其中添加一个“input”事件。使用JavaScript的所有内容如下所示:

功能显示选择选项(str){
警报(str);
}
var list=document.createElement(“选择”);
list.id=“listId”;
list.addEventListener('input',showSelectedOption(this.selectedIndex));
对于(变量i=0;i<3;i++){
var option=document.createElement(“选项”);
option.value=“无”;
option.text=“text”;
列表。追加子项(选项);
}
文件.正文.附件(列表)有几个问题

您没有绑定
showSelectedOption
函数,而是调用它并使用其返回值(未定义的
undefined
)作为事件处理程序

因此,在不调用它的情况下传递
showSelectedOption

然后,您必须使用触发
输入
事件时传递给函数的
事件
,在方法中找到该元素的
selectedIndex

功能显示选择选项(事件){
var元素=event.target,
index=element.selectedIndex,
值=元素。选项[索引]。值;
警报(值);
}
var list=document.createElement(“选择”);
list.id=“listId”;
list.addEventListener('input',showSelectedOption);
对于(变量i=0;i<3;i++){
var option=document.createElement(“选项”);
option.value=“无”;
option.text=“text”;
列表。追加子项(选项);
}

文件.正文.附件(列表)
您可以改为使用
setAttribute
并将
oninput
属性的值设置为字符串(不是函数)
showSelectedOption(this.selectedIndex)

功能显示选择选项(str){
警报(str);
}
var list=document.createElement(“选择”);
list.id=“listId”;
list.setAttribute('oninput',“showSelectedOption(this.selectedIndex)”);
对于(变量i=0;i<3;i++){
var option=document.createElement(“选项”);
option.value=“无”;
option.text=“项目”+i;
列表。追加子项(选项);
}

文件.正文.附件(列表)谢谢,这正是我要找的!嗨,它起作用了。谢谢但是,当我们检查元素时,在元素的属性处看不到“oninpu”事件list@Jas实际上,当使用
addEventListener
时,它不会在检查器上显示为
oninput
。但是请记住,您只能在每个元素上添加一个
oninput
,而使用
addEventListener