多选择选项调用onmouseout函数对每个选项进行更改,而不从选中框中出来,我可以知道这个事件发生的原因吗?
修正了在从select标记中删除multiple
属性时的错误。
function mout(e){
console.log("mouse is out");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select id="x" multiple onmouseout="mout(this)">
<option value="1">11:00 10-10-2017</option>
<option value="2">11:00 10-10-2017</option>
<option value="3">13:00 10-10-2017</option>
</select>
发布于 2017-11-29 07:31:20
使用mouseleave
。
当鼠标指针离开任何子元素以及所选元素时,
mouseout
事件将触发。 只有当鼠标指针离开选定的元素时,才会触发mouseleave
事件。
function mout(e){
console.log("mouse is out");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select id="x" multiple onmouseleave="mout(this)">
<option value="1">11:00 10-10-2017</option>
<option value="2">11:00 10-10-2017</option>
<option value="3">13:00 10-10-2017</option>
</select>
发布于 2017-11-29 07:24:18
在mouseout上类似于onfocusout;当select已启用multiple
时,UI是这样的: onmouseout = onfocusout = onhover;
同样,在禁用的multiple
中,我们有一个传统的下拉列表,即在clicking, changing and then focusing out
之后触发onmouseout。
希望这能有所帮助。
发布于 2017-11-29 07:36:10
您可以在mouseleave
上使用jQuery。
$( "#x" ).on( "mouseleave", function(e) {
console.log("mouse is out");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> </script>
<select id="x" multiple>
<option value="1">11:00 10-10-2017</option>
<option value="2">11:00 10-10-2017</option>
<option value="3">13:00 10-10-2017</option>
</select>
https://stackoverflow.com/questions/47547095
复制相似问题