我目前正在編寫一個jQuery UI插件並調查現存的jQuery UI源。 在_create
手風琴插件的方法this
被分配給self
(link to source),但是然後在該方法中並排使用this
和self
。那麼他們爲什麼選擇分配到self
呢?在jQuery UI中指定此自我
1
A
回答
8
這是關於上下文。在函數本身self
和this
中引用相同的對象,但在事件處理程序this
引用事件所指向的DOM元素。通過將this
的值分配給self
,可以讓它們自由地引用這些事件處理程序中的窗口小部件對象或DOM元素。
如果你仔細觀察,你會發現,功能的範圍內,他們在匿名函數使用self
專門和時(事件處理程序),他們同時使用this
和self
來引用DOM元素或窗口小部件,分別。
2
我不完全知道JQuery UI插件是如何工作的,但我可以想象的是以下情況。我認爲他們想保留對Widget對象的引用而不覆蓋this
(更改範圍)。當函數執行時,作用域不再是Widget對象,而是DOM元素。因此,他們可以使用this
作爲參考輕鬆添加課程和所有內容。在此之前,他們使用閉包並將值this
(現在仍然是解析代碼時的窗口小部件對象)賦值給局部變量self
,以解救窗口小部件objcet作用域。現在使用self可以改變對象上的字段。
相關問題
- 1. 自定義jQuery UI
- 2. 指定jQuery UI可調整大小的自定義句柄()
- 3. 我在哪裏可以獲得JQuery ui指定的選項?
- 4. jQuery UI datepicker css自定義
- 5. 自定義JQuery UI主題
- 6. 如何在iOS中創建此自定義UI
- 7. jQuery UI AutoComplete中的自定義值
- 8. 如何在我的自定義函數中使用JQuery UI? (自動完成)
- 9. JQuery UI與自定義jQuery小部件
- 10. jQuery UI自動完成自定義html
- 11. 從自定義指令中調用角度UI引導指令
- 12. 用於打開jquery-ui dialoge的指定
- 13. 指南自定義UI控件
- 14. 如何在UI視圖中顯示自定義指令?
- 15. 自定義指令無法在ui-grid的cellTemplate中更新
- 16. AngularJS在自定義指令中包裝ui-select
- 17. 如何指定包含在UI自動化PropertyCondition中
- 18. 使用jQuery UI Themeroller和一個自定義jQuery UI小部件?
- 19. 如何在div中更改此特定的css類,在Date Picker jquery-ui中?
- 20. 如何在Laravel中指定此路線?
- 21. jquery-ui在grails中的自動完成
- 22. 在自己的指令中包裝Angular.js ui-bootstrap或ui-select指令
- 23. jQuery UI滑塊自定義步驟
- 24. 自定義jQuery UI的進度條
- 25. jquery ui對話框自定義按鈕
- 26. 如何自定義重置jquery ui buttonset?
- 27. jQuery UI自動完成 - IE6鎖定
- 28. 自定義拖放可排序jquery ui
- 29. TinyMCE的自定義主題jQuery UI的
- 30. CSS自定義JQuery UI對話框
最近偶然發現了一些我迄今爲止不知道的東西。瀏覽器實際上已經實現了「自己」變量。它是對窗口對象的引用。所以壓倒自我可能不是一個好主意。它讓我進入地獄廚房,因爲從那時起,我正在使用自己,也改變了對窗戶的引用! – philgiese 2012-01-24 14:27:03