代码之家  ›  专栏  ›  技术社区  ›  Maksim Vi.

使用jquery悬停项

  •  5
  • Maksim Vi.  · 技术社区  · 15 年前

    有没有方法使用javascript来悬停元素? 我不想创建另一个类,我只想在鼠标指针不在元素上时让元素和javascript一起悬停。

    例如,我有5个具有相同类的元素,当其中一个元素实际悬停时,我想调用所有元素上的悬停。

    4 回复  |  直到 10 年前
        1
  •  6
  •   Tatu Ulmanen    15 年前

    我想你是指伪类 :hover 与链接关联的(例如)。当您将鼠标悬停在该链接上时,您希望调用所有其他链接的 :悬停 风格。

    不幸的是,您不能调用 悬停 jquery的样式,这要求您将鼠标指针实际移动到该元素上。您必须使用类并使用jquery的悬停事件。

        2
  •  3
  •   Justin Johnson    15 年前

    通过在悬停事件处理程序中同时寻址集合中的所有项,可以实现此目的。

    var items = $(".some-class-applied-to-many-different-items");
    items.hover(function() {
            // Mouseover state
            items.addClass("blah"); // <- for example
        },
        function() {
            // Mouseout state
            items.removeClass("blah");
    });
    
        3
  •  2
  •   SLaks    15 年前

    如果我正确理解您的问题,您已经添加了 hover 事件使用jquery,您希望手动触发该事件,而不管鼠标是什么。

    如果我理解正确,你要打电话给 mouseenter 触发 鼠标器 事件。

    如果我理解错误,而你实际上 :hover 你想用javascript触发的CSS规则,这是不可能的。
    相反,您应该在规则中添加一个类名(例如, something:hover, something.FakeHover { ... } ,并使用jquery添加该类名。(如: $(...).addClass('FakeHover') )

        4
  •  0
  •   Paul D. Waite    15 年前

    在jQuery中, the trigger function 允许您触发事件(包括 mouseover 我相信)在元素上。

    在纯JavaScript中,如果您已经为元素的事件处理程序分配了函数,那么当然可以随时调用它。例如。

    function mouseoverHandler() {
        // Do something
    }
    
    // Assign function to element’s event handler
    document.getElementById('link1').onmouseover = mouseoverHandler
    
    // Call that function
    document.getElementById('link1').onmouseover();