首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery代码在IE8及更低版本中不起作用

jQuery代码在IE8及更低版本中不起作用
EN

Stack Overflow用户
提问于 2013-01-15 19:18:49
回答 1查看 210关注 0票数 0

我有以下两段代码,这些代码在IE8和以下代码中不起作用。

代码语言:javascript
运行
复制
services.each(function() {
    $(this).hover(function() {
        services.removeClass('active');
        $(this).addClass('active');                     
    });
});

这会失败,因为所有4个服务在任何时候都具有活动类。另外,在下面的代码中,回调函数不会添加完成的类。

代码语言:javascript
运行
复制
webform.click(function() {                  
    if(!$(this).hasClass('expanded')) {
            $(this).addClass('expanded');
            $(this).animate({
                marginLeft: '-25%',
                width: "50%",
                minWidth: '400px',
                maxWidth: '700px',
                padding: '0',
                minHeight: "580px",
                height: 'auto',
                borderRadius: "0"
            }, 1000, function () {
                $(this).addClass('completed');
            });
        } 
    });

谁能告诉我如何修复这些问题,更重要的是,我应该做什么,以确保我的代码是IE兼容的。

仅供参考,对于任何有类似jQuery/IE问题的人,我有一个很大的问题,就是在最后一个选项后加一个逗号,例如在上面的borderRadius: "0"之后,这在所有浏览器中都被忽略了,除了IE它会大发雷霆!!

EN

Stack Overflow用户

发布于 2013-01-15 19:40:05

Hover问题-

hover()有两个参数,一个用于mouseenter,另一个用于mouseleave。如果您只提供一个函数作为参数,它将为两个事件运行。

在元素集合上运行方法不需要each,jQuery将在内部循环该集合的所有元素。

在你的hover()上试试这个

代码语言:javascript
运行
复制
services.hover(function() { 
       /* add on mousenter, remove on mouseleave  */   
        $(this).toggleClass('active');                   

});

使用这两个参数的替代方法:

代码语言:javascript
运行
复制
services.hover(function() { 
       /* add on mousenter */   
        $(this).addClass('active');                   

}, function(){
       /*remove on mouseleave */
       $(this).removeClass('active');  
});

接口参考:http://api.jquery.com/hover

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14336591

复制
相关文章

相似问题

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