2010-01-27 114 views
2

問題:觸發誤當塊UI上調用此代碼的jQuery UI模塊故障

(function($){ 

    function preloader() 
    { 
     $('a#preloader').click(function(e){ 
      e.preventDefault(); 
      var url = base_url + 'runtest/preloader'; 

      $('div#content').load(url, preloaderCallback); 
     }); 
    } 

    function remotePreload() 
    { 
     $('a#remotepreload').click(function(e){ 
      e.preventDefault(); 

      var object = $(this); 
      object.data('clicked', 'yes'); 

      var url = base_url + 'runtest/remote_preloader'; 

      $('div#content').load(url); 
     }); 
    } 


    /* 
    * callback functions 
    */ 

    function preloaderCallback() 
    { 
     $('div.imageholder img').hide(); 

     $('div.imageholder img').each(function(){ 
      var img = new Image(); 

      var sursa = $(this).attr('src'); 

      var parent = $(this).parent(); 

      var preloaderSource = '<img src="' + base_url + 'media/images/preloader.gif' + '" alt="loader"/>'; 

      parent.append(preloaderSource); 

      $(img).load(function(){ 
       parent.append($(this)); 
       $(this).hide().fadeIn(500); 
       $(this).siblings().remove(); 
      }).attr('src', sursa); 
     }); 
    } 

    function blocker() 
    { 
     $('#content').block(); 
    } 

    function handlePageLoad() 
    { 
     $('a#remotepreload').ajaxStart(function(e){ 
      var elem = $(e.target); 
      if (elem.data('clicked') == 'yes') 
      { 
       // error when blocker() function is called here 
       alert('Started'); 
      } 
     }); 
     $('a#remotepreload').ajaxComplete(function(e){ 
      var elem = $(e.target); 
      if (elem.data('clicked') == 'yes') 
      { 

       elem.removeData('clicked'); 
       alert('Ended'); 
      } 
     }); 
    } 

    // call onready functions 
    $(function(){ 
     preloader(); remotePreload();handlePageLoad(); 
    }); 
})(jQuery); 

//這裏是從Firefox的調試器 未捕獲的異常錯誤:[異常...「無法JavaScript的轉換參數arg 0" nsresult: 「0x80570009(NS_ERROR_XPC_BAD_CONVERT_JS)」 的位置: 「JS框架:: http://localhost/testsuite/media/js/jquery.min.js ::匿名::行115」 的數據:無]

這裏的HTML標記

<div id="wrap"> 
      <div id="header"> 
       <?= $header ?> 
      </div> 

      <div id="content"> 
       <?= $content ?> 
      </div> 

      <div id="sidebar"> 
       <?= $sidebar ?> 
      </div> 

      <div id="footer"> 
       <?= $footer ?> 
      </div> 
     </div> 

EDIT 我在使用Jquery 1.4.1發生這種情況。切換回1.3,一切恢復正常。

+0

嘗試更改「對象」的變量名稱爲obj(對象可能保留工作,很確定它是) – 2010-01-27 08:40:31

+0

可能看看編輯,版本問題,其中blockUI插件與1.4.1中的更改​​衝突 – yretuta 2010-01-27 08:42:06

回答

3

blockUI更新於January 6th 2010,不幸的是,作者沒有在主頁上的任何地方宣佈這一事實。我可以確認它與jQuery 1.4完美協作。

+0

這個答案並不是真的針對這個問題,但它解決了這個問題。謝謝! – yretuta 2010-01-28 01:16:07