dojo.connect初解
DOJO常用
1,通過dojo.require以類似C程式設計中#include或者Java中import的方式載入所需的部件
如dojo.require("dojo.parser");dojo.require("dijit.form.Button");
2,跨域自定義模組
Dojo配置,djConfig="baseUrl:'./'"
註冊模組的路徑,dojo.registerModulePath("dtdg","./dtdg");
載入自定義模組,dojo.require("dtdg.foo");
3,本地工具箱模組
直接載入自定義模組,dojo.require("dtdg.foo");
4,為物件註冊事件
dojo.connect();
5,json和字串之間轉換
dojo.fromJson(/*String*/ json);//返回JavaScript物件,json物件
dojo.toJson(/*Object*/ json, /*Boolean*/ prettyPrint);//返回字串
6,Ajax通訊
dojo.xhrGet(/*Object*/ args);dojo.xhrPost(/*Object*/ args);
dojo.xhr(/*String*/ method, /*Object*/ args, /*Boolean?*/ hasBody);
7,本地化
djConfig="dojo.local:'zh'"
8,控制元件、佈局等都在dijit中
介紹
每個流行的工具包中,總有一些異常出彩的閃光點。dojo.connect就是dojo工具包中,與JavaScript事件機制相關的重磅功能。
在JavaScript的使用場景中,我們經常需要偵聽某些事件的觸發,然後進行相應的(函式)處理。比如最常見的,當點選登入頁面的登入節點時,JavaScript能夠察覺到,並隨之將使用者登入資訊傳送到後臺。下面先來看看dojo.connect的引數
dojo.connect(obj, event, context, method, dontFix);
引數 | 型別 | 描述 |
obj | Object|null | 事件關聯的物件。最常見的是DOM node,關聯的事件會被委託到DOM事件管理器(除非dontFix為true);也可以是其他JavaScript Object;或者乾脆就是null,這時就是預設為dojo.global (window)。 |
event | String | 上面obj需要關聯的事件的名稱。比如DOM node的”onclick”之類的。 |
context | Object|null | 前面兩個引數講的都是關聯的“源”,這兒開始就是講關聯的“目標”了。context為後面的method提供了執行上下文環境,相當於method的this。如果context為null且method是一個function,則method會繼承event的context。如果method是一個string,則context必須是method的源物件。如果context為null,則預設為dojo.global。 |
method | String|Function | 當event被觸發後呼叫的目標函式。可以是函式引用,或者context中的函式名稱。此method會拿到和事件同樣的引數。 |
dontFix | Boolean | 可選項。如果obj引數是DOM node,當設定dontFix為true時,可以阻止關聯被委託到DOM事件管理器。(貌似很強大的功能) |
從表面上看,dojo.connect就是一個單純的函式,完成單純的事件關聯功能。但由於支援引數的靈活配置及和其他dojo函式的有機組合,有時候可以造成一些奇妙效果
這兒很淺顯地討論一些目前能想到的dojo.connect特性。也歡迎有興趣的同志給出更多的應用場景。
相關文章
- MediaRecord初解
- MediaExtractor初解
- WXSTranistion 初解
- 初識 Java 註解Java
- Terraform - 初解Terraform - 變數ORM變數
- 初略講解Flutter Widget庫Flutter
- Android MVVM探索(一) - DataBiding初解AndroidMVVM
- 【解構雲原生】初識Kubernetes Service
- 初略講解Flutter的包管理Flutter
- flutter安裝詳解--初體驗--問題解決Flutter
- 初略講解Flutter的狀態管理Flutter
- 初略講解Flutter的資源管理Flutter
- 瞭解Vuex方法的使用初級篇Vue
- 【IOS開發初學者】UINavigationController詳解iOSUINavigationController
- 初略講解Flutter的文字及樣式Flutter
- 初略講解如何除錯Flutter應用除錯Flutter
- 手遊PC發行那些事:Steam初瞭解
- 初識Python,我想你應該瞭解這些...Python
- Spring Boot第五彈,WEB開發初瞭解~Spring BootWeb
- Flutter開發實戰初級(一)ListView詳解FlutterView
- 初識SAP解決方案及其上雲優勢
- Kotlin——初級篇(三):資料型別詳解Kotlin資料型別
- 第一天,初瞭解銳捷網路
- 初略講解Flutter的Wrap和Flow(流式佈局)Flutter
- 藍橋杯2015初賽生命之樹 DFS圖解圖解
- 初略講解基礎Widgets之Widget、StatelessWidget和StatefulWidget
- Flutter開發實戰初級(一)ListView詳解2FlutterView
- NOIP 2017初賽普及組C/C++答案詳解C++
- Java四大知識點講解,初學者必看!Java
- Flutter Web初嘗試以及一些問題解決FlutterWeb
- 初略講解Flutter的Align(對齊與相對定位)Flutter
- 例項講解:我的強化學習初體驗!強化學習
- 初學者Mybatis的初級使用MyBatis
- 初試
- 2021騰訊PC客戶端初賽題解(對大佬解題手法的學習)客戶端
- 適合初學者的who 命令的解釋與示例指南
- Docker 入門概述(適合初學者瞭解相關概念)Docker
- SAP 幾款容易令初學者混淆的 HANA 解決方案