【问题标题】:Trigger the css:hover event with js用js触发css:hover事件
【发布时间】:2012-05-21 06:31:02
【问题描述】:

我有 <div class="animate"> 并在 css 中:

div.animate:hover{
//do stuff
}

但也想通过 javascript 调用它。

有可能吗?

【问题讨论】:

标签: javascript html css


【解决方案1】:

Trigger css hover with JS 中所述,这是不可能的(如果您希望在创建此答案时准确描述)。

但主要目标可以通过以下方式实现:

  1. 在 CSS 中设置类 hover(或任何名称)以及选择器 :hover
  2. 调用.addClass("hover")触发CSS,调用.trigger("hover").trigger("mouseenter")触发JS。
  3. 确保mouseleave 处理程序。或第二个.hover() 处理程序,清除hover 类(如果存在)。

【讨论】:

    【解决方案2】:

    我建议您不要这样做,而是将一个类添加到另一个标签。在 jQuery 中它会是:

     $(window).load(function() {
        $('.trigger-animate').hover(function(){
            $('.animate').addClass('hover');
        });
    }
    

    我建议使用此方法,因为它同时处理 onMouseOver 和 onMouseOut(这样您也可以在鼠标离开 $('.trigger-animate') 时删除该类,如果您需要使用以下语法:

    .hover( handlerIn(eventObject), handlerOut(eventObject) )
     checking out the documentation
    

    【讨论】:

    • 我是 jQuery 新手,这会放在 "onMouseOver" 中吗?如果没有,我会把这段代码放在哪里
    • 把它放在$(window).load -------- .hover 是onMouseOver 的替代品,所以你甚至不需要它!
    • 对不起,我还是迷路了。我在哪里把 .hover(...) 你的第二个代码 sn-p
    • 第二个 sn-p 只是第一个的完整语法文档。您只需要第一个函数,您可以使用第二个函数的语法添加第二个函数,以便在鼠标移出时进行处理。希望能把事情弄清楚一点。
    • 香草JS没有办法做到这一点吗?
    猜你喜欢
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多