当下拉选择元素时触发事件

Does an event fire when a select element is dropped down

本文关键字:事件 元素 选择      更新时间:2023-09-26

我想知道元素何时被下拉。

我不想等到一个值被选中。

是否有一个事件我可以挂钩?

我很高兴使用JQuery/Javascript来完成这个

感谢

:谢谢你的建议。

focus是不完全正确的,因为它触发时,用户制表符进入元素;

click满足了我的需求,因为(尽管@billyonecan说它不会为键盘下拉菜单触发)我只对鼠标启动的下拉菜单感兴趣(我正在解决的错误不会发生在键盘用户)。

对于记录,我感兴趣的是被下拉的项目,而不是被选中的项目。

http://jsfiddle.net/fjqmj/16/给出了所有建议的比较。

try this:

<select id="selectOption">
 <option value="1">One</option>
 <option value="2">two</option>
</select>
jQuery:

$(function(){
  $('#selectOption').focus(function(){
     alert('clicked');
  });
});

试试这个

    <select id="selectOption">
     <option value="1">One</option>
     <option value="2">two</option>
    </select>
$(document).ready(function() {
  $('#selectOption').click(function(){
     alert('clicked');
  });
});

JQuery焦点事件将是您最好的选择:JSFiddle

$('body').on('focus', 'select', function(){ ... });
参考:为什么使用。on()而不是。click()