jQuery EasyUI動態添加控件或者ajax加載頁面后不能自動渲染問題的解決方法


現象:

       AJAX返回的html無法做到自動渲染為EasyUI的樣式.比如:class="easyui-layout" 等

 

處理方法:

      在html片段加載完畢后使用

Js代碼  
  1. $.parser.parse(context)  

     即可重新渲染。

 

實現原理:

 

    首先附上jquery.parser.js的源碼

Js代碼  
  1. (function($){  
  2.     $.parser = {  
  3.         auto: true,  
  4.         plugins:['linkbutton','menu','menubutton','splitbutton','layout',  
  5.                  'tree','window','dialog','datagrid',  
  6.                  'combobox','combotree','numberbox','validatebox',  
  7.                  'calendar','datebox','panel','tabs','accordion'  
  8.         ],  
  9.         parse: function(context){  
  10.             if ($.parser.auto){  
  11.                 for(var i=0; i<$.parser.plugins.length; i++){  
  12.                     (function(){  
  13.                         var name = $.parser.plugins[i];  
  14.                         var r = $('.easyui-' + name, context);  
  15.                         if (r.length){  
  16.                             if (r[name]){  
  17.                                 r[name]();  
  18.                             } else if (window.easyloader){  
  19.                                 easyloader.load(name, function(){  
  20.                                     r[name]();  
  21.                                 })  
  22.                             }  
  23.                         }  
  24.                     })();  
  25.                 }  
  26.             }  
  27.         }  
  28.     };  
  29.     $(function(){  
  30.         $.parser.parse();  
  31.     });  
  32. })(jQuery);  

   框架默認在頁面加載完成后自動使用$.parser.parse()對整個文檔進行渲染

 

Js代碼  
  1. $.parser.auto   //是否自動進行渲染  
  2. $.parser.plugins  //包含目前EasyUI框架中所有的插件名稱  
  3. $.parser.parse(context)  
  4. //context  為待查找的 DOM 元素集、文檔或 jQuery 對象,為空時默認為整個文檔  
  5. //渲染對象為: class="easyui-pluginName"的元素  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM