1. 程式人生 > >AJAX非同步獲取HTML之後 JQuery EasyUI 的介面重繪的解決辦法

AJAX非同步獲取HTML之後 JQuery EasyUI 的介面重繪的解決辦法

當AJAX非同步獲取了HTML程式碼之後,這一段程式碼是包含JQuery EasyUI 的屬性和樣式的,這時這些屬性和樣式並不會生效。這裡說說解決方案

我們先來了解頁面在重新整理或開啟時JQuery EasyUI都幹了些什麼:

在載入完HTML的時候,JQuery EasyUI 會找class=“easyui-xxxx”的樣式來初始化JQuery EasyUI 控制元件,搜尋JQuery EasyUI 混淆之後的原始碼,找到這麼一段:

(function($){
$.parser={auto:true,onComplete:function(_142){
},plugins:["linkbutton","menu","menubutton","splitbutton","tree","combobox","combotree","numberbox","validatebox","numberspinner","timespinner","calendar","datebox","layout","panel","datagrid","tabs","accordion","window","dialog"],parse:function(_143){
var aa=[];
for(var i=0;i<$.parser.plugins.length;i++){
var name=$.parser.plugins[i];
var r=$(".easyui-"+name,_143);
if(r.length){
if(r[name]){
r[name]();
}else{
aa.push({name:name,jq:r});
}
}
}
if(aa.length&&window.easyloader){
var _144=[];
for(var i=0;i<aa.length;i++){
_144.push(aa[i].name);
}
easyloader.load(_144,function(){
for(var i=0;i<aa.length;i++){
var name=aa[i].name;
var jq=aa[i].jq;
jq[name]();
}
$.parser.onComplete.call($.parser,_143);
});
}else{
$.parser.onComplete.call($.parser,_143);
}
}};
$(function(){
if(!window.easyloader&&$.parser.auto){
$.parser.parse();
}
});
})(jQuery);

當看完之後$.parser.parse();這一句不就是重繪JQuery EasyUI 控制元件的麼。當執行這一句話的時候JQuery EasyUI 會對整個頁面的DOM進行解析,效率是比較慢的。當然我們AJAX非同步獲取的僅僅是一段HTML,沒有必要對整個頁面進行解析。

當我們非同步獲取來的HTML放入一個容器裡,比如這樣

$('#xxxx').html(非同步獲取回來的內容) ,我們在解析這一段非同步獲取回來的HTML中的JQuery EasyUI控制元件時,可以這樣做:

$.parser.parse($('#xxxx'));

這樣就只解析$('#xxxx')內部的HTML中的JQuery EasyUI控制元件。

相關推薦

AJAX非同步獲取HTML之後 JQuery EasyUI介面解決辦法

當AJAX非同步獲取了HTML程式碼之後,這一段程式碼是包含JQuery EasyUI 的屬性和樣式的,這時這些屬性和樣式並不會生效。這裡說說解決方案 我們先來了解頁面在重新整理或開啟時JQuery EasyUI都幹了些什麼: 在載入完HTML的時候,JQuery EasyU

java+jquery+json+ajax非同步獲取資料

專案開發中,很多時候需要使用ajax+json來獲取伺服器資料, 同時伺服器也會採用返回json資料以達到跨平臺訪問的形式: 我們利用sturts2 完成一個demo,自行搭建struts2的環境:

ajax非同步獲取資料後動態向表格中新增資料(行)

因為某些原因,專案中突然需要做自己做個ajax非同步獲取資料後動態向表格中新增資料的頁面,網上找了半天都沒有 看到現成的,決定自己寫個例子 1、HTML頁面 <html xmlns="http://www.w3.org/1999/xhtml"> <hea

使用AJAX非同步獲取資料

AJAX這個名字看起來很神奇,我第一次見到它也被它吸引了,它是Asynchronous JavaScript and XML的簡寫,非同步的JAVASCRIPT和XML,關於AJAX的介紹在網上的介紹太多了,我就不多那麼多了,我的口才不好,沒他們說的那麼精彩,可以去http:

ajax非同步獲取資料繪製echarts圖表

使用Jquery庫中的ajax()方法,動態獲取json資料,對獲取到的json資料進行清洗,然後將清洗好的資料傳給Echarts圖表。 Echarts圖表(示例) json資料(示

百度地圖API ajax非同步獲取資料庫資訊 頁面顯示多點標註和標註框

    var map = new BMap.Map("allmap");          // 建立地圖例項       var point = new BMap.Point(108.955665, 34.274037);  // 建立點座標       map.cen

ajax操作ajax非同步獲取資料,查詢使用者資料

//建立非同步物件function createXMLHttpRequest1() { if (window.ActiveXObject) { xmlHttp =new ActiveXObject("Microsoft.XMLHTTP"); } elsei

jquery ajax 請求中多出現一次OPTIONS請求及其解決辦法

安全 htm 及其 就是 跨域請求 ons 什麽 get ati http://www.tangshuang.net/2271.html 在上一篇《服務端php解決jquery ajax跨域請求restful api問題及實踐》中,我簡單介紹了如何通過服務端解決jquer

Ajax非同步請求,頁面不跳轉問題的解決

         背景:在進行ssm整和shiro時有一個許可權不足時跳轉到許可權不足頁面的需求。前端是easyUI的dataGrid表格傳送了一個Ajax請求,到達後端之後這個請求被perms攔截器攔截,許可權校驗未通過,於是要向/webApp/u

獲取jQuery物件 Uncaught ReferenceError: jQuery is not defined(…) 的解決辦法

1. 將jQuery引用寫在最前面 2.將自己的外掛函式所在檔案的引入位置放在jQuery引用之後 若是還沒有解決: 把呼叫執行程式碼放在$(function(){寫執行程式碼})裡面,保證事件的發生是在頁面檔案載入完成之後,避免jQuery檔案引用混亂導致出錯  比

spring boot無法啟動,或者正常啟動之後無法訪問報404的解決辦法

沒有 自己 路徑 con 啟動不了 瀏覽器 了無 搭建 報錯 以前用spring boot都是用idea的自動創建,或者是用的Jhipster創建的,就沒有深究怎麽去搭建。但是今天晚上心血來潮,想自己搭一個demo來整合一些技術,於是就花一點時間來手動搭。因為今

IE瀏覽器下AJAX緩存問題導致數據不更新的解決辦法

bsp pan color span cache get 獲取 無法 並不會 利用ajax查詢數據,在谷歌瀏覽器下可以獲取到最新數據,而在IE中獲得是舊數據,無法獲得最新的數據,經查資料,才發現時IE緩存再作怪。 發現此ajax請求用的get方式,每次請求的URL一模一樣,

hadoop叢集啟動之後,datanode程序未啟動解決辦法

這種情況一般是由於自己進行hadoop格式化的時候沒有事先結束所有程序,或者在開啟一次hadoop叢集,發現配置不對,這時重新 hadoop namenode -format  就會出問題 因為此時你format之後, datanode的clusterID 和 namenode的clu

iOS開發技巧之:相機獲取到的圖片自動旋轉90度解決辦法

本文轉載自這裡:http://blog.csdn.net/hitwhylz/article/details/39518463 今天寫demo的時候發現, 如果把通過相機獲取到的圖片,直接進行操作, 比如裁剪, 縮放, 則會把原圖片向又旋轉90度。 剛開始覺得莫名其妙, 不知所措。 後來百度了

iOS開發- 相機 攝像頭 獲取到的圖片自動旋轉90度解決辦法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

spring boot正常啟動之後無法訪問報404的解決辦法之一

網上都說是 啟動類的放置位置錯誤導致的! 這個錯誤資訊包含的有效資訊不是很多,有很多因素 我的原因是: freemarker: suffix: .ftl request-context-attribute: request freemarker的字尾改為了.ftl&nb

使用float浮動之後,父元素“塌陷”的解決辦法

常常在並排div的時候使用到float屬性,但是使用之後會發現他們的父元素會沒有高度,之後的元素會“擠上來”,造成“塌陷”。 比如,我們想要的如下效果: 程式碼如下: <!DOCTYPE html> <html>   &nb

JQuery slideToggle閃爍問題及解決辦法

      近期進行的一個專案中,對側邊的選單欄進行操作,為了達到緩慢隱藏或者出現的效果,選擇使用jquery的slideToggle()方法。但是發現效果表現並不理想。在單個案例中,可以像在http://www.w3school.com.cn/中的效果。放在專案的程式

wamp下DVWA登入頁面無法訪問(或輸入login直接跳轉到setup介面)的解決辦法

老王上網找了好久解決辦法,有說改埠的、有說重啟動的balabala但都沒亂用....真的急瘋了,前兩天在機電樓數字簽名課上中期檢查還好好的,突然輸入login的網址就登不上去了。。。在我一籌莫展抓耳撓腮之時,靈光一現,發現了下面的解決辦法: 大家開啟本地服務(就是下方輸入框

docker 獲取容器獲取的時間不是本地時間,解決辦法

在使用docker部署網站的時候,無意間發現容器裡面的時間竟然是美國時間,被雷到了,不過解決辦法也很簡單,有兩種辦法 1、重新啟動一個容器,加上如下引數,即可使用宿主機時間 $ -v /etc/localtime:/etc/localtime:ro #