2011-12-19 2 views
1

要素をクリックした後にdijit.Editorを追加したいと思います。dijit.Editor dynamical onClickを追加する

dojo.ready(function() { 
    var handle = dojo.connect(dojo.byId("k"),"onclick", 
     function(){ 
      dojo.byId("k").innerHTML += 
       "<div data-dojo-type=\"dijit.Editor\" id=\"editor\" style=\"width:400px;min-height:100px;background-color:white;border-style:solid;border-width:1px\" > </div>"; 
       dojo.disconnect(handle); 
     } 
    ); 
}); 

一般に、このコードは機能しますが、dijit.Editorは不正な形式です。書き込みできないため、デフォルトのプラグインはありません。これをどうすれば解決できますか?

答えて

2

これはインライン編集用ですか?その場合は、this pageの例に従ってください。

他にも、javacriptでhtmlを作成するのではなく、thisのようにする必要があります。

+1

.. uは解決策を得る可能性があります。これを試してみてくださいうん、それは参考になりました。ありがとう。 – gregory561

1

私はinlineEditBoxがあなたのニーズに一層合っていると信じています。 より一般的には、dojo.readyの後にonClickに宣言コードを追加します。 基本的には、htmlが "おそらく"解析され、次にdojo.readyを取得し、onClickが発生したときにhtmlコードに宣言マークアップを追加しますが、パーサーを呼び出さないことを意味します。

私はこの種のケースに対してプログラム的なアプローチを使用し、テンプレート化されたウィジェット、またはパーサーを呼び出す "解析"するhtml文字列を宣言しておくことをお勧めします。

希望これも少し役立ちます;)

-1
<script>function(ready, Editor, AlwaysShowToolbar, dom, query){ 
this.createEditor = function(){ 
    new Editor({ 
     height: '40px',},dom.byId('programmatic2'));autosave:false, 
    query('#create2').orphan(); 

} 
}); 

</script> 

+0

この関数はどのように正確に実行されますか? – Tom

関連する問題