Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JavaScript代码在IE8中失败?_Javascript_Jquery - Fatal编程技术网

为什么JavaScript代码在IE8中失败?

为什么JavaScript代码在IE8中失败?,javascript,jquery,Javascript,Jquery,我想使这些项目(按需要列出的解决方案、按业务规模列出的解决方案、按行业列出的解决方案)不被单击,它们是最后一个菜单数据安全解决方案的子项 我在页面底部添加代码: http://www.luxuryfurclothing.com/ jQuery.noConflict(); var eles=jQuery('li.category51 ul li.level1>a'),i; 对于(i=0;ia在IE8中工作,则必须在文档开头指定此DOCTYPE: <script type="text/ja

我想使这些项目(按需要列出的解决方案、按业务规模列出的解决方案、按行业列出的解决方案)不被单击,它们是最后一个菜单
数据安全解决方案的子项

我在页面底部添加代码:

http://www.luxuryfurclothing.com/

jQuery.noConflict();
var eles=jQuery('li.category51 ul li.level1>a'),i;
对于(i=0;i
这适用于Firefox和Chrome,但不适用于IE8。

1)如果希望
li.level1>a
在IE8中工作,则必须在文档开头指定此DOCTYPE:

<script type="text/javascript">
    jQuery.noConflict();
    var eles = jQuery('li.category51 ul li.level1>a'), i;

    for (i = 0; i < eles.length; i++) {
        eles[i].onclick = function(event) {
            event.preventDefault();
        };
        eles[i].onmouseover = function() {
            this.style.cursor="auto";
        };
    }
</script>

IE不支持
preventDefault

您应该使用
event.returnValue=false用于IE

实施:

$('li.category51 ul li.level1>a').click(function(event) {
    event.preventDefault(); // this is a jquery wrapped event
}).mouseover(function() {
    this.style.cursor="auto";
});
因为您使用的是jQuery,所以有一种更简单的方法

if(event.preventDefault){
  event.preventDefault();
} 
else{
   event.returnValue = false;
}
return false;

为什么不直接使用jQuery来实现跨浏览器的兼容性,而不是jQuery和本机javascript的混合(至少在事件处理方面)

…为什么不使用CSS来设置光标

jQuery('li.category51 ul li.level1>a')
  .click(function(event){
    event.preventDefault();
  })
  .mouseenter(function(event) {
    $(this).css('cursor', 'auto');
  });

尝试添加returnfalse;首先,如果您有一个jQuery对象,请使用jQuery方法处理事件附件,即la
eles.click(函数c(){…})如果我不使用li.level1>a。有没有办法得到同样效果的结果。非常感谢。
jQuery.noConflict();
var eles = jQuery('li.category51 ul li.level1>a'), i;
eles.click(function(event) {
        return false;
    }).mouseover(function() {
        this.style.cursor="auto";
    });
jQuery('li.category51 ul li.level1>a')
  .click(function(event){
    event.preventDefault();
  })
  .mouseenter(function(event) {
    $(this).css('cursor', 'auto');
  });
li.category51 ul li.level1>a {
  cursor: auto;
}