首页
学习
活动
专区
圈层
工具
发布

= addClass
EN

Stack Overflow用户
提问于 2010-09-21 17:20:55
回答 2查看 1.5K关注 0票数 0

我构建了这个非常简单的脚本,但我没有工作。

谁能告诉我窃听器在哪里吗?

代码语言:javascript
复制
<div id="hello" style="border: 1px solid #000000; margin:10px; padding:5px;">Hello</div>
<div style="border: 1px solid #000000; margin:10px; padding:5px;">Word</div>
<div style="margin:10px; padding:5px;">Test</div>

JS

代码语言:javascript
复制
$(function()
{

    $('div').live('hover', function (event)
    {
             if (event.type == 'mouseover')
             {
               $(this).addClass('mark');
             }
             else
             {
               $(this).removeClass('mark');
             }
    });

});

http://www.jsfiddle.net/4pYth/4/

提前感谢!

彼得

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-21 17:23:27

我想你想用两个单独的现场活动来做这件事。

代码语言:javascript
复制
$('div').live('mouseenter', function() {
  $(this).addClass('mark');
}).live('mouseleave', function() {
  $(this).removeClass('mark');
)};

编辑:

下面是mouseentermouseover之间区别的链接,以防您好奇:What is the difference between the mouseover and mouseenter events?

票数 3
EN

Stack Overflow用户

发布于 2010-09-21 17:36:54

hover不是一个事件。

jQuery对象上的许多与事件相关的快捷方法都是实际事件:clicksubmit等,但hover不是,它是一个单独的快捷方法,注册了mouseentermouseleave事件。

live()只能接受事件,所以如果您想使用类似悬停的代码,您将需要单独的事件,如凯尔的例子所示。

但是,这会有点慢,因为现在jQuery必须监视每一个鼠标的移动,以查看它是否发生在div元素上。使用hover()绑定当前页面中的div上的mouseenter/leave事件可能会更快,而不需要live-ness。但是,如果有动态添加的div元素,则意味着在将它们添加到文档时必须重新绑定。

更好的是:只需使用CSS悬停。只有IE6,好的旧:hover失败了;如果您真的需要为浏览器的用户提供良好的悬停效果(吧!他们不配,无赖!)然后您可以只为该浏览器添加回退脚本,例如:

代码语言:javascript
复制
<style type="text/css">
    div:hover, div.hover { background: red; }
</style>

<!--[if lt IE 7]><body class="browser-ie6"><![endif]-->
<!--[if gte IE 7]><!--><body><!--<![endif]-->

<script type="text/javascript">
    if ($(document.body).hasClass('browser-ie6')) {
        $('div').live('mouseenter', function() {
            $(this).addClass('hover');
        }).live('mouseleave', function() {
            $(this).removeClass('hover');
        )};
    }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3762761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档