1

如果不重复我的代码并更改一行以允许它与 IE 8 一起使用,我似乎无法添加 IE 检测...在这种情况下,hoverintent 是罪魁祸首,并且在 IE8 中不起作用>所以我想要检测来测试对于 IE8,只需使用“悬停”代替...

我有工作/检测ie8的条件检查器:

if (!$.support.leadingWhitespace) {
alert('This is IE8');
}

这是我的完整代码。例如,在第二行你有 .hoverIntent( ... 这需要更改为 MSIE8 的简单 .hover ...

$(document).ready(function () {
     $('nav li,#mini-menu li').hoverIntent(

function (e) {
  //show its submenu
    e.stopPropagation();
  $('.sub-nav', this).stop(true,true).slideDown(200);
  $('.mini-nav', this).show();
}, 

function (e) {
  //hide its submenu
  e.stopPropagation();
    $('.sub-nav,.mini-nav', this).stop(true,true).fadeOut(100);         
}
 );

我的问题是我在上面添加了条件检查器代码,我想我能做到的唯一方法是复制上面的代码并将其简单地放在条件检查器中并将 .hoverintent 更改为 .hover .... 所以在此之前,我想问一下是否有更好的方法,如何在现有代码中插入条件并简单地更改行?

4

1 回答 1

1

你可以这样做:

var isIE = $.support.leadingWhitespace?false:true;

//then

$('nav li,#mini-menu li')[!isIE?'hoverIntent':'hover'](...);
于 2013-05-28T10:54:20.707 回答