質問
をJeff Atwoodの 相談, 私は、使用のJavaScriptライブラリのための非常に基本的なto-doリストを用います。かの 道場のツールキット, バージョン1.1.1.最初は、すべてのル:をドラッグドロップコードを書いていた時、ドラッグ作業画面の変更の優先順位を、ドラッグドロップ操作電話イベントハンドラに送信AJAXのサーバーを紹介できるよう順が変更されました。
そのために追加のメールが追跡可能です。標準のもの:新着メールにて独自の番号に付け、それに続くすべてのメールはこの問題をできる追跡による離脱する番号のときに応答が返されます。そして、リストのタスクがそれぞれのID番号、およびそれぞれの作業には時間順序付けられたリストに関連していきます。また、テキストのメールをご利用について、利用者を探しておられたのでそのタスクのリスト、また各タスクボックス、Dijit"ツリー"コントロ-トップレベルの課題の説明、店舗を含むメール、およびシングル"葉"のそれぞれの支店を含むメールします。
最初の問題:また、ツリービューする完全崩壊によるデフォルトです。索した後、Google非常に役に立ったかのソリューションすべてが有効で以前のバージョンの道場がないものでした。私は最終的に把握し、最善の解決策が見られるようにするイベントハンドラと呼ばれた時にツリー制御を搭載していたことだけで崩壊した各支店作りを楽しみました。残念ながらも、ツリーを制御していたインスタンスを生成とそのアジアと日本を結ぶ重要な"イベントハンドラと呼ばれ、枝葉がんセンブルのデータが読みAJAXます。そこで、私を変更したシステムを導入するように、すべてのメールの本文をツリー構造の追加のサーバ側です。この全人口の木のコントロールが利用可能な場合、起動イベントハンドラが呼び出されます。
なにより、同スタートアップイベントハンドラを完全に崩壊します。次に、見られませんでしたが、"適正"においてもフォーマットされたテキストをメールです。ることができるメールのギーンゲンアンデアブレンが、HTMLのが逃げ出したちのクリスマスの過ごし方のウェブページです。Cueより六本木の外苑道場のドキュメント(傾向にある時には、コード例は前のバージョン1.0)です。いった情報セキュリティーコンのwebブラウザでJavaScriptの実行を行く読み、SPAN要素の中には葉ノードの連携により脱出を逃れたHTMLコードでinnerHTML.きっかけになるかもしれないと思コードを入れていことの完全崩壊のツリーコード、ツリー内のコントロールの起動イベントハンドラです。
しかし...ここでは、SPAN要素な作りで、ユーザーがクリックしexpando(のちょっとした"+"シンボルツリービューをクリックし拡大するためのノード).大丈夫、公正なしに追加、再フォーマットコードをonExpand()イベントハンドラ、またはその呼び出されます。るように見えませんが存在します。私は検索された文書、思索にGoogle...私はあるにも関わら誤解を道場"を公開/購読"イベントハンドリングシステムがると思うのであるという総合的な文書でどのような、なんだイベントで購入。).
なので、最終的に、最適なソリューションができまくるので、これまでonClickイベントハンドラではない"道"のイベントが、平JavaScriptのイベント道場を知ってい)のexpandoノードのツリーに支店を再形式、HTML内のSPAN要素の葉が入っています。除---その場合"と呼ばれるもののSPAN要素が存在しないものである-などでキャッシュされ、一層の混乱させます。このイベントハンドラを設定タイマーが定期的に通話機能するかどうかをチェックした場合、当該SPAN要素を持って前後に再度フォーマットです。
// An event handler called whenever a "email title" tree node is expanded.
function formatTreeNode(nodeID) {
if (dijit.byId(nodeID).getChildren().length != 0) {
clearInterval(nodeUpdateIntervalID);
messageBody = dijit.byId(nodeID).getChildren()[0].labelNode.innerHTML
if (messageBody.indexOf("<b>Message text:</b>") == -1) {
messageBody = messageBody.replace(/>/g, ">");
messageBody = messageBody.replace(/</g, "<");
messageBody = messageBody.replace(/&/g, "&");
dijit.byId(nodeID).getChildren()[0].labelNode.innerHTML = "<b>Message text:</b><div style=\"font-family:courier\">"+messageBody+"</div>";
}
}
}
// An event handler called when a tree node has been set up - we changed the default fully-expanded to fully-collapsed.
function setupTree(theTree) {
dijit.byId("tree-"+theTree).rootNode.collapse();
messageNode = dijit.byId("tree-"+theTree).rootNode.getChildren();
for (pl = 0; pl < messageNode.length; pl++) {
messageNode[pl].collapse();
messageNode[pl].expandoNode.onclick = eval("nodeUpdateIntervalID = setInterval(\"formatTreeNode('"+messageNode[pl].id+"')\",200); formatTreeNode('"+messageNode[pl].id+"');");
}
}
上記の思hackしみを感じてもらいたいというくらいなければならな誤ったくどこかに早く私の考えます。で誰か教えてください:
- 正しい道のりをくフォーマットされたテキスト内の道場/Dijitツリーます。
- の正しい方向で取り扱道場イベントが今お付き合いをしているギャラリには何のイベントは私にとって加入。
- より良いJavaScriptライブラリを利用したいのでいいとJQueryを回避するためにすべての住宅にはみられますのでご注意ください。▼).
PS:だネーミングソフトウェアプロジェクトは、と考えらその名前の一意性にGoogle-思索のための"道場"ドキュメントにGoogleが容易になりなすべての武術の成果を得こだわりを持っています。
PPS:Firefox字を知っていて、スペル"Atwood"、訂正およっ二つの'T'の代わりにします。はJeffだけると有名なのか?
解決
なっているのでしょうかまの dijit.ツリーの道場。データを道場1.1 チュートリアルを演出するパスのデータにツリーの制御データを使用します。たく叩私の頭のレンガ造りの壁。
なんであのキャラクターの代替によって記録されている。を作成する必要がありますモデルです。いいえ下のツリーモデルを作成した表示の構造をLDAPディレクトリです。
するデフォルトの実装のモデルに道場に流通します。/dijit/_tree/model.js.コメントの必要をご理解いただくためには、機能のモデルです。
のIDirectoryServiceクラス以下のコードはスタブのサーバ側でJava POJOs生 ウリモ (DWR).私のおすすめDWRだきたくさんのクライアント-サーバの相互作用
dojo.declare("LDAPDirectoryTreeModel", [ dijit.tree.model ], { getRoot : function(onItem) { IDirectoryService.getRoots( function(roots) { onItem(roots[0]) }); }, mayHaveChildren : function(item) { return true; }, getChildren : function(parentItem, onComplete) { IDirectoryService.getChildrenImpl(parentItem, onComplete); }, getIdentity : function(item) { return item.dn; }, getLabel : function(item) { return item.rdn; } });
とこちらの抽出エキスからの私のJSPページを作成したモデルでの移植には、ツリーます。
<div dojoType="LDAPDirectoryTreeModel" jsid="treeModel" id="treeModel"> </div> <div jsid="tree" id="tree" dojoType="dijit.Tree" model="treeModel" labelAttr="name" label="${directory.host}:${directory.port}"> </div>