如何在SELECT元素中双击多次识别

Joe*_*Joe 9 html javascript javascript-events

我有一个带有MULTIPLE属性的SELECT元素.双击列表中的选项时,我想根据单击的选项执行操作.

我知道OPTION元素不处理ondblclick事件.如果我处理SELECT元素的dblclick事件,是否有某种方法可以识别哪个选项被双击?

<select size="4" name="MySelect" multiple="multiple" ondblclick="myFunction();">
    <option ... />
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

最好是跨浏览器,但IE只会这样做.

编辑

我显然不够清楚.我需要做的是确定在事件处理程序中双击哪个选项(或者双击是在没有选项的SELECT元素的区域中).由于SELECT元素具有MULTIPLE属性,因此查找selectedIndex不会这样做:如果用户在双击时按住CTRL或SHIFT,则会选择多个项目:我只想要实际双击的选项.

Har*_*men 8

试试这个:

document.getElementById('selectID').ondblclick = function(){
    alert(this.selectedIndex);
    // or alert(this.options[this.selectedIndex].value);
};
Run Code Online (Sandbox Code Playgroud)

如果双击某个项目,则选择它,这样就可以使用this.selectedIndex.

  • 不,选择允许多个选择.this.selectedIndex将给出*first*selected选项的索引,不一定是双击的选项. (3认同)

jia*_*ngc 5

<select onDblClick="alert(this.value)">  
   <option>Barney</option>
   <option>Ted</option>
   <option>Marshall</option>
</select>
Run Code Online (Sandbox Code Playgroud)