2011-12-19 30 views
1

我想在點擊元素後添加dijit.Editor。添加一個dijit.Editor 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上的示例進行操作。

不然的話,你應該做一些類似於this而不是在javascript中創建html。

+1

是的,這是有益的。謝謝。 – gregory561 2011-12-19 17:01:09

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 2013-03-12 15:20:36

相關問題