0
http://www.luxuryfurclothing.com/

我想让这些项目(按需求的解决方案、按业务规模的解决方案、按行业的解决方案)不被点击,它们是Data Security Solution最后一个菜单的子项。

我在页面底部添加代码:

<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>

这适用于 Firefox 和 Chrome,但不适用于 IE8。

4

3 回答 3

0

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

<!DOCTYPE html>
<html>
...

如果您要求将文档解释为xhtml1. 此外,很少有理由使用 XHTML。

2)正如Shusi所说,你不能调用preventDefault原生IE事件。解决方案是使用 jQuery 工具:

$('li.category51 ul li.level1>a').click(function(event) {
    event.preventDefault(); // this is a jquery wrapped event
}).mouseover(function() {
    this.style.cursor="auto";
});
于 2012-09-27T08:08:29.167 回答
0

IE不支持preventDefault

你应该使用event.returnValue = false;IE

执行:

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

因为您使用的是 jQuery,所以有一种更简单的方法

jQuery.noConflict();
var eles = jQuery('li.category51 ul li.level1>a'), i;
eles.click(function(event) {
        return false;
    }).mouseover(function() {
        this.style.cursor="auto";
    });
于 2012-09-27T08:11:33.193 回答
0

为什么不只使用 jQuery 来实现跨浏览器兼容性,而不是混合使用 jQuery 和原生 javascript(至少用于事件处理)?

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

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

li.category51 ul li.level1>a {
  cursor: auto;
}
于 2012-09-27T08:21:06.920 回答