JavaScript / jQuery中的“if mouseover”或“do while mouseover”

时间:2010-10-19 07:52:58

标签: javascript jquery dom mouseevent

当鼠标悬停在DOM对象上时,是否有JavaScript或jQuery解决方案重复运行函数(在setTimeout之后)?否则说,有没有JavaScript“做鼠标悬停”(或“如果鼠标悬停”)?

    $('someObject').bind('mouseover', function() {

        //Do the following while mouseover 
        $('someOtherObject').css('margin-left',adjustedLeft + 'px');
        setTimeout(/*do it again*/,25);

    });

5 个答案:

答案 0 :(得分:39)

$('someObject').on('mouseenter', function() {
    this.iid = setInterval(function() {
       // do something           
    }, 25);
}).on('mouseleave', function(){
    this.iid && clearInterval(this.iid);
});

Example Look here

答案 1 :(得分:0)

我会使用onmouseout事件解决此问题。 当鼠标悬停在mouseover事件上的指定组件上时,启动您要执行的任何操作。 当onmouseout事件发生时,我会阻止它。

答案 2 :(得分:0)

我使用jQuery的新绑定样式。

$(el).bind({
'mouseenter': function(){console.log('Mouse over');}, 
'mouseleave': function(){console.log('Mouse leave');}
});

答案 3 :(得分:0)

我知道这有点旧,但我认为正确的功能已经在JavaScript中,onmousemove就是这样。

答案 4 :(得分:0)

OBJ.addEventListener("mouseenter", function() {
  focus=true;
});
OBJ.addEventListener("mouseleave", function() {
  focus=false;
});

只要您不想使用jquery,就可以使用此:)