2012-04-05 17 views
1

私はDojoを初めて使い、イベントの処理方法を理解しようとしています。イベントを要素にバインドするには、少なくとも3つまたは4つの異なる方法があるようです。この混乱に加えて、いくつかのメソッドは新しいv1.7では廃止されているように見えるので、Web検索を最近の数ヶ月に限定しても役に立ちませんでした。Dojoイベントに関するチュートリアル

はちょうどこの例の作業は(私はまだ考え出したていない一つのことは、モジュールが何のためにロードされるべきである)良いスタートになりた:

http://jsfiddle.net/sVJWY/

しかし、これを超えて、私はと期待しています良いリファレンスを見つける。

答えて

3

ここでは簡単な使用例を示します。ここで

// alert url when hover over link 
require(["dojo/query", "dojo/on", "dojo/domReady!"], function(query, on) { 
    query("a").on("mouseover", function(evt) { 
     alert(evt.target.href); 
    }); 
}); 

http://jsfiddle.net/RichAyotte/sVJWY/6/

はforEachの持つ例です。

require([ 
    "dojo/query" 
    , "dojo/on" 
    , "dojo/domReady!"], function(query, on) { 
    query("a").forEach(function(node) { 
     on(node, "mouseover", function(event) { 
      alert(node.href); 
     }); 
    }); 
}); 

http://jsfiddle.net/RichAyotte/sVJWY/7/

注onmouseover属性 - >コード内でマウスオーバーしたり、マウスの拡張機能を使用することができます。

require(["dojo/on", "dojo/mouse"], function(on, mouse){ 
    on(node, mouse.enter, hoverHandler); 
}); 

http://livedocs.dojotoolkit.org/dojo/on

+0

ための道場スタイル道場スタイル

require(["dojo/dom", "dojo/parser", "dojo/domReady!","dojo/on","dojo/query"], function(dom,parser,domReady,on,query){ dojo.ready(function(){ query("a").forEach(function(node){ on(node,"mouseover", function(event){alert(node.href);}); }); }); });​ 

で正しいのjavascriptですありがとう!どのように私の例の仕事をするためにどのようなアイデア?実際には、各ノードに複数のアクションがあるため、私は各ノードが必要です。 – Christophe

+0

私はあなたの最後の例ですでに失われています... requireとdefineの違いは何ですか? – Christophe

+0

defineとrequireの違いは、defineが値を返すと予想されることです。最後の例は、マウス拡張を指摘するための単なるボーナスです。それはドキュメントからコピーされたもので、何も返されないので間違っているので、それを必要に変更します。ローダーの詳細はこちらです。 http://livedocs.dojotoolkit.org/loader/amd –

2

あなたの例では、これはあなたが道場クエリモジュールレーキ化した、と新しいAMDシステム

+0

良い点。私は純粋なAMDになるために私の答えをきれいにしました。あなたの答えは同じ問題を抱えています。 dojo.readyはAMDではありません。この場合は、domReady!モジュール。 –

+0

例をありがとう! – Christophe

関連する問題