2014-01-17 43 views
1

活性的textarea(CKEditor的)我有下面的keyEvent上以JavaScript

<script> 
$(document).ready(function(){ 
    //function showChar(){ 
    shortcut.add("Ctrl+F1", function() 
     document.activeElement.id.value +="text"; 
    }); 
    var counter=0; 
    setInterval(function() { 
    for(int i=0;i<4;i++){ 
       var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter); 
       newTextBoxDiv.after().html('<div><label style="float:left;"></label></div><pre><textarea name="textbox' + counter + '" id="textbox" ><%=rsta2.getString("data")%></textarea></pre>'); 
       newTextBoxDiv.appendTo("#TextBoxesGroup"); 
       counter++; 
       } 
CKEDITOR.replace('textbox'+i+'', 
        { 
       toolbar : 
        [ 
         ['Source'], 
         ['Bold','Italic','Underline','Strike'], 
        ], 
         height: 300, 
         width: 700 
        }); 


    },1000); 
}); 
</script> 
<div id='TextBoxesGroup'> 
    <div id="TextBoxDiv0"> 
    </div> 
    </div> 

上面的代碼的代碼(減去代碼的CKEditor的一部分)加4個文字區域,這取決於當我按textarea的是活性ctrl+f1text被添加到特定的textarea.But當我用ckeditor替換textarea的快捷鍵不工作,我該怎麼辦?

UPDATE 這是最接近我已經got.The Jfiddle低於

http://jsfiddle.net/S3MY6/45/

在這裏,我可以添加文字到只有1個主編提供商我指定的ID,但我想它添加到活動one.So我試過這個

var xy=CKEDITOR.currentInstance.name; 
    //alert(xy); 
xy.insertText('html here.'); 

但它扔了)一個錯誤,說對象editor1沒有insertTest(但是,當我警惕XY獲得正確的編輯器ID /名稱。 請幫助

UPDATE2

我已完成了與此JFiddle現在的工作。 http://jsfiddle.net/S3MY6/49/

,但我得到的快照快捷方式也隨着它。我只想補充文字

回答

0

在您更新的小提琴上,我將var xy=CKEDITOR.instances.editor1替換爲var xy=CKEDITOR.currentInstance,它工作正常。

http://jsfiddle.net/8mVM3/

+0

thnx很多,很多很多days.In而不是1我如何把F1? –

+0

F1的代碼是112 – ariel

+0

thnx非常多 –

0

previous answer將有助於你理解爲什麼textarea值對你在CKEditor的看到,以及如何處理沒有影響用它。

無論如何,我相信你會發現editor.insertHtml()(和insertText)有助於你的任務。

+0

你能爲我提供editor.insertHtml()一jfiddle例如Please.It將是很大的幫助。我的看了這個帖子你的,但我卡尼還添加文本此http:/? /stackoverflow.com/questions/14423734/ckeditor-how-to-apply-keyboard-shortcut-to-a-particular-style –

+0

我已經更新了我的問題..請看看它 –