1

コードを繰り返し、1行を変更してIE 8で動作できるようにしないと、IE検出を追加できないようです... hoverintentがこの例の原因であり、IE8では動作しません>だから、検出をテストしたかったのですIE8の場合は、代わりに「ホバー」を使用してください...

私はie8を動作/検出する条件付きチェッカーを持っています:

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

これが私の完全なコードです。たとえば、2 行目には .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 に答える