我有一个对象,onclick接收一个活动的类,它的位置是动画的。如果您将“.active”悬停在对象上,则应显示另一个元素(不是子元素)。
我的问题是,如果光标没有离开并重新输入元素,则不会触发mouseover事件。你可以在这里看到一个演示:
如果您将光标置于“hello”之上,您将看到问题所在。 注意:我的实际约束使我无法“查看”子元素。
答案 0 :(得分:1)
添加完课程后立即调用鼠标悬停处理程序:
$("#whatever").click(function(e) {
$(this).animate({marginLeft: "50px"}, function() {
var $this = $(this);
$this.addClass("active");
if ($this.offset().left <= e.pageX) {
$this.mouseover();
}
});
});
请参阅fiddle。
答案 1 :(得分:1)
我建议您添加之前的类动画。我认为这更好,因为它可以在动画时显示。这需要同时移动两个元素。
$("#whatever").click(function() {
$(this).addClass("active").mouseover();
$(this).animate({marginLeft: "50px"});
$('#view').animate({marginLeft: "50px"});
});
答案 2 :(得分:0)
对于我的特殊情况,这有效:
$("#whatever.active").live('mouseover mouseout mousemove',function(event){
if (event.type=="mouseover")
$("#view").css("opacity", "1");
else
$("#view").css("opacity", "0");
}
);
然而,我接受凯尔的回答,因为它适用于大多数情况。