爲什麼當我使用dojo.hitch函數並試圖引用裏面的「this」運算符時,它給了我引用錯誤的對象?Dojo.hitch()範圍問題
console.debug(dijit.byId("widgetName")); //works as expected and prints out the window object
dojo.hitch(dijit.byId("widgetName"), tester())(); //this should be executing the tester function in the scope of the widget object
function tester() {
console.debug(this); //prints out the Javascript Window object instead of the widget object!!!!
}
感謝
這不應該發生,不要相信你發佈的內容與你在應用程序中嘗試的內容相同。任何scnreenshots支持它? – Layke
如果你把'console.log(dijit.byId(「widgetName」))'放在'hitch'之前,你確定它能夠正確地返回嗎?它是否會返回null?在這種情況下,'this'指的是'window'。 – pimvdb
@Layke我知道這不應該發生,因此我的問題。一段時間以來,我一直在撓頭。這是完全從我的應用程序複製/粘貼代碼。我不知道你想在截圖中看到什麼?! – Ayyoudy