IE8 JS错误:对象不支持此属性或方法

IEcansuckit

我正在使用在网上找到的以下JS来实现响应式导航。IE8中没有任何错误的消息源,但是我正在BrowserStack(Win7 + IE8)中进行一些兼容性测试,并得到“对象不支持此属性或方法”错误。这是整个脚本:

<script>
$(function() {  
    var pull        = $('#menu');  
        menu        = $('nav ul');  
        menuHeight  = menu.height();  

    $(pull).on('click', function(e) {  
        e.preventDefault();  
        menu.slideToggle();  
    });  
});  

$(window).resize(function(){  
    var w = $(window).width();  
    if(w > 320 && menu.is(':hidden')) {  
        menu.removeAttr('style');  
    }  
});
</script>

这是IE8不喜欢的行(特别是字符6):

if(w > 320 && menu.is(':hidden')) { 

解决这个问题的任何帮助都会很棒,但我仍然不是JS的最佳人选。

jfriend00

只需停止将jQuery对象存储在全局变量中即可。只需按需创建它们就不会花费太多,而且您不会遇到这个生命周期/范围界定问题:

<script>
$(function() {  
    $('#menu').on('click', function(e) {  
        e.preventDefault();  
        $('nav ul').slideToggle();  
    });  
});  

$(window).resize(function(){  
    var menu = $('nav ul'); 
    if($(window).width() > 320 && menu.is(':hidden')) {  
        menu.removeAttr('style');  
    }  
});
</script>

一些适用于此的一般设计/代码布局思想:

  1. 尽可能避免使用全局变量。
  2. 不要在一个作用域中声明某些内容,然后尝试在另一个作用域中使用它(除非全局,否则将不起作用,请参见规则1),并且如果全局也可能存在计时问题。
  3. 仅在使用它们的函数中需要时才获取选择器结果。在函数的生存期之外,很少有理由缓存这样的内容。
  4. 如果要在一个函数中多次引用同一个jQuery对象,则可能需要在函数持续时间内将其保存到局部变量中(只要其结果不会在函数中被修改) 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IE8 JS错误:对象不支持此属性或方法

来自分类Dev

仅在IE8中的jQuery错误“对象不支持此属性或方法”

来自分类Dev

IE8 Javascript错误:对象不支持此属性或方法

来自分类Dev

IE8 JavaScript错误-对象不支持此属性或方法

来自分类Dev

对象在JavaScript的ie8中不支持此属性或方法

来自分类Dev

IE8 javascript中的对象不支持此属性或方法

来自分类Dev

IE8“对象不支持此属性或方法”与JQuery 1.7

来自分类Dev

对象在JavaScript的ie8中不支持此属性或方法

来自分类Dev

Flexslider和IE8对象不支持此属性或方法

来自分类Dev

IE8 javascript中的对象不支持此属性或方法

来自分类Dev

Hammer.js(IE8)-对象不支持属性或方法“ addEventListener”

来自分类Dev

IE8中的对象不支持修剪方法

来自分类Dev

IE8中的对象不支持修剪方法

来自分类Dev

SCRIPT438:对象不支持IE8中的属性或方法“键”

来自分类Dev

调试-IE对象不支持此属性或方法

来自分类Dev

Javascript错误:对象在IE浏览器中不支持此属性或方法

来自分类Dev

IE为什么会出现此错误:对象不支持属性或方法isNaN

来自分类Dev

IE为什么会出现此错误:对象不支持属性或方法isNaN

来自分类Dev

对象在jQuery中不支持addEventListener IE8

来自分类Dev

ie8对象不支持extjs代码

来自分类Dev

IE 11错误:对象不支持属性或方法“替换”

来自分类Dev

IE8中的AngularJS-错误:不支持此命令

来自分类Dev

IE8 的 CSS 属性

来自分类Dev

ie8不支持Object.create

来自分类Dev

不支持给定路径的格式-IE8

来自分类Dev

“对象不支持此属性或方法” IE10/11

来自分类Dev

ANgular JS及其对IE8的支持

来自分类Dev

IE / Edge单击SVG会导致错误-TypeError:对象不支持属性或方法“模糊”

来自分类Dev

错误:对象不支持IE 9中的属性或方法“ popover”

Related 相关文章

  1. 1

    IE8 JS错误:对象不支持此属性或方法

  2. 2

    仅在IE8中的jQuery错误“对象不支持此属性或方法”

  3. 3

    IE8 Javascript错误:对象不支持此属性或方法

  4. 4

    IE8 JavaScript错误-对象不支持此属性或方法

  5. 5

    对象在JavaScript的ie8中不支持此属性或方法

  6. 6

    IE8 javascript中的对象不支持此属性或方法

  7. 7

    IE8“对象不支持此属性或方法”与JQuery 1.7

  8. 8

    对象在JavaScript的ie8中不支持此属性或方法

  9. 9

    Flexslider和IE8对象不支持此属性或方法

  10. 10

    IE8 javascript中的对象不支持此属性或方法

  11. 11

    Hammer.js(IE8)-对象不支持属性或方法“ addEventListener”

  12. 12

    IE8中的对象不支持修剪方法

  13. 13

    IE8中的对象不支持修剪方法

  14. 14

    SCRIPT438:对象不支持IE8中的属性或方法“键”

  15. 15

    调试-IE对象不支持此属性或方法

  16. 16

    Javascript错误:对象在IE浏览器中不支持此属性或方法

  17. 17

    IE为什么会出现此错误:对象不支持属性或方法isNaN

  18. 18

    IE为什么会出现此错误:对象不支持属性或方法isNaN

  19. 19

    对象在jQuery中不支持addEventListener IE8

  20. 20

    ie8对象不支持extjs代码

  21. 21

    IE 11错误:对象不支持属性或方法“替换”

  22. 22

    IE8中的AngularJS-错误:不支持此命令

  23. 23

    IE8 的 CSS 属性

  24. 24

    ie8不支持Object.create

  25. 25

    不支持给定路径的格式-IE8

  26. 26

    “对象不支持此属性或方法” IE10/11

  27. 27

    ANgular JS及其对IE8的支持

  28. 28

    IE / Edge单击SVG会导致错误-TypeError:对象不支持属性或方法“模糊”

  29. 29

    错误:对象不支持IE 9中的属性或方法“ popover”

热门标签

归档