代码之家  ›  专栏  ›  技术社区  ›  Mircea

鼠标按下时Javascript mouseenter事件不起作用

  •  4
  • Mircea  · 技术社区  · 15 年前

    我有一个 <input type="range"> 卷轴和 div 就在那 mouseover 和 mouseleave 改变背景。您可以在这里看到工作代码: http://jsfiddle.net/y8S57/ ,请使用Webkit浏览器作为 type="range" 仅适用于Webkit。

    问题是如果鼠标在 type=“范围” 按钮并输入 鼠标悬停 和 穆塞莱夫 区域不触发相应的事件。以某种方式使用 type=“范围” 取消应该发生的其他事件。

    当我拖动 <输入type=“range”> 我的鼠标在上面 鼠标悬停 分区 这个 鼠标悬停 要触发的事件?

    HTML格式:

    <input id="zoom" type="range" name="zoom" min="10" max="100" step="1" value="40" >
    <div id="zone"></div>
    

    JavaScript代码:

    $("#zone").mouseenter(function(){
       $(this).css({background:"red"});
    });
    
    $("#zone").mouseleave(function(){
       $(this).css({background:"black"});
    });
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Nick Craver    15 年前

    不幸的是,WebKit似乎没有在其他元素上触发鼠标事件。我能给你的就是如何缩短代码:

    $("#zone").hover(function(){
       $(this).css({background:"red"});
    }, function(){
       $(this).css({background:"black"});
    });
    

    这不是一个你可以修复的错误(而且肯定是 故意的 行为),将其发布到 WebKit Bugzilla 在这里做得最好。我的意思是,他们可能出于其他原因而主动这样做,例如当你疯狂地拖动时,你不会想触发一个突然覆盖滑块的弹出菜单。

    推荐文章