簡體   English   中英

在IE8中無法獲取未定義或空引用錯誤的屬性“刷新”

[英]Unable to get property 'refresh' of undefined or null reference error in ie8

我的劇本:

var slidespeed = 200;
$('.noti_user a').off().on('click',function(){
    if($(this).hasClass('active')){
        $(this).removeClass('active');
        $('.sub_menu_closer').hide();
        $('.noti_drop_down').slideUp(slidespeed);
    }else{
        $('.left_user_inner').children('div').children('a').removeClass('active');
        $('.left_logo_part a').removeClass('active')
        $('.help_drop_down,.mail_drop_down').slideUp(slidespeed)
        $('.logo_drop_down').slideUp(slidespeed);
        $('.noti_drop_down').slideDown(slidespeed,function(){
            sScroll.refresh(); // here is error show
        });
        $('.sub_menu_closer').show();
        $(this).addClass('active');
    }
})

var sScroll; // here iscroll call
   sScroll = new IScroll('.noti_outer', {scrollbars: 'custom',mouseWheel: true});
   document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

sScroll.refresh(); 這是我刷新的iScroll插件

當我在ie8瀏覽器中測試時,此顯示錯誤:無法獲取未定義或空引用的屬性“刷新”

正如剛才提到的。 IScroll庫與較舊的IE版本不兼容。 因此,您不能調用方法。 為了防止錯誤,您可以這樣操作:

  $('.noti_drop_down').slideDown(slidespeed,function(){
    if (sScroll && typeof sScroll === 'object' && typeof sScroll.refresh === 'function') {
     sScroll.refresh(); // here is error show
    }
  });

在if語句中可能有很多情況,只需檢查IE中的sScroll,如果未定義,則減少條件,但應避免錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM