多选项选项调用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>
答案 0 :(得分:2)
使用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>
答案 1 :(得分:1)
鼠标输出类似于onfocusout;当select启用anycpu
时,UI就是onmouseout = onfocusout = onhover;
同样不在multiple
禁用期间我们有一个传统的下拉列表,其中onmouseout在multiple
之后被触发。
希望这有帮助。
答案 2 :(得分:1)
您可以在jQuery上使用mouseleave
。
$( "#x" ).on( "mouseleave", function(e) {
console.log("mouse is out");
});
&#13;
<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>
&#13;