dojo/domReady! 中感叹号的作用
生活随笔
收集整理的這篇文章主要介紹了
dojo/domReady! 中感叹号的作用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
廢話
其實不算個技術問題,但實在是花了我不少時間,不記下來都對不起我這浪費掉的幾十分鐘。
問題
在dojo官網上看教程,跟著做點練習,看到Dojo DOM Functions那節,有一個練習是改變頁面上的列表(li)內容,于是我就寫了如下代碼:
require(["dojo/dom", "dojo/domReady"], function(dom) {function setText(node, text){node = dom.byId(node);node.innerHTML = text;}setText(dom.byId("one"), "One has been set");setText("two", "Two has been set as well"); }); <ul id="list"><li id="one">One</li><li id="two">Two</li><li id="three">Three</li><li id="four">Four</li><li id="five">Five</li></ul>跑起來以后,控制臺里一直報錯,類似"can't set properties of null",意思是dom.byId("one")返回是null,我怎么都覺得不可能,來回核對了id N遍啊N+1遍,又對dom添加觀察發現也是正常的。總之,就是來來回回折騰了好久,然后猛地往上一瞄......
解決
"dojo/domReady"應為:"dojo/domReady!"
“The exclamation mark is required to tell Dojo not to execute the callback until the DOM is ready.”
少了這個感嘆號,并沒有等待dom加載完就開始跑函數了,這個時候即使按正確的id也是返回null。
轉載于:https://www.cnblogs.com/SheilaSun/p/4380892.html
總結
以上是生活随笔為你收集整理的dojo/domReady! 中感叹号的作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XenServer 6.5实战系列之三:
- 下一篇: VS2005--设置Release模式下