打开下拉列表时的jQuery事件监听器

Wat*_*tte 5 javascript jquery event-listener

具有以下简单的下拉菜单:

<select id="foo">
   <option>bar</option>
</select>
Run Code Online (Sandbox Code Playgroud)

jQuery监听器初始化如下:

$("#foo").on("click", function() {
    console.log("stuff");
});
Run Code Online (Sandbox Code Playgroud)

仅当用户通过选择选项或单击框外单击关闭下拉列表时才触发该事件。当他打开盒子时,有什么办法可以得到这个事件?

Vah*_*Msm 4

用于此目的的正确事件是change click在一起的,并且每次选择输入更改或单击时都会触发。

$("#foo").on("click change", function(e) {
    $("#output").html("Event type: " + e.target.nodeName);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="foo">
   <option value="1">foooo</option>
   <option value="2">bar</option>
</select>

<div id="output"></div>
Run Code Online (Sandbox Code Playgroud)