easyui 渲染問題(轉)

來源:互聯網
上載者:User

標籤:

1. jQuery EasyUI動態添加控制項或者ajax載入頁面後不能自動渲染問題的解決方案:

我們之所以在頁面中,只要書寫相應easyui的class,Easyui就能成功渲染頁面,這是因為解析器在預設情況下,parser會在文檔裝載完成的時候($(document).ready)被調用一次,而且是渲染整個頁面。

然而當頁面裝載完後,如果用javascript產生的DOM中包含了Easyui支援控制項的class,比如說,用javascript產生了以下代碼:

<a id="tt" href="#" class="easyui-linkbutton" data-options="iconCls:‘icon-search‘">easyui</a>

 雖然頁面上有這樣的DOM了,但是沒有被渲染為Easyui的linkbutton外掛程式,原因是Easyui並不會一直監聽頁面,所以不會主動渲染,這時候就需要手工調用Easyui的parser進行解析了。

手工調用需要注意以下幾點:

解析目標為指定DOM的所有子孫元素,不包含這個DOM自身:

比如上面代碼產生的HTML,id="tt"是我們想要的LinkButton,像下面代碼去手工解析的話是得不到你想要的結果的:

 $.parser.parse($(‘#tt‘));

道理很簡單,parser只渲染tt的子孫元素,並不包括tt自身,而它的子孫元素並不包含任何Easyui支援的控制項class,所以這個地方就得不到你想要的效果了,應該這樣寫:

 $.parser.parse($(‘#tt‘).parent());

渲染tt的父節點的所有子孫元素就可以了,不管你的javascript輸出什麼DOM,直接渲染其父節點就可以保證頁面能被正確解析。

----------------------------------------------

試了下,可以。

easyui 渲染問題(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.