我有一个div元素container
,其中包含另一个包含更多input type button
元素的div。当我mouseout
第二个div元素时,我希望它隐藏自己,但是当我将鼠标从一个按钮移动到另一个按钮时会发生这种情况。
HTML:
<div id="container">
<div id="settings">
<input type="button" value="Logout" />
<input type="button" value="Staff Area" />
</div>
</div>
jQuery的:
$(document).ready(function(){
$("#settings").mouseout(function(){
$(this).slideUp();
});
});
jsfiddle链接:http://jsfiddle.net/cm4hE/
答案 0 :(得分:1)
的jQuery
$(document).ready(function () {
$("#settings").mouseleave(function () {
$(this).slideUp();
});
});
使用 mouseleave()
可以解决您的问题。这里显示了一个不错的 Different between mouseout() and mouseleave() ......
希望它有所帮助...... !!
答案 1 :(得分:1)
我认为您应该使用mouseleave代替mouseout。这是因为如果鼠标指针留下任何子元素以及所选元素,则会触发mouseout事件。有关详细信息,请参阅这些页面。
所以上面的例子变成了:
$(document).ready(function(){
$("#settings").mouseleave(function(){
$(this).slideUp();
});
});
答案 2 :(得分:0)
您可以使用hover
代替mouseout
$(function(){
$("#settings").hover(function () {
}, function () {
$(this).slideUp();
});
});
编辑完整性