0
編集可能なiframeがあり、iframe外のボタンをクリックしたときにカーソル位置にテキストを挿入したいと考えています。私はテキストを挿入するには、次のコードを使用しようとしています:デザインモードのIframeにテキストを挿入Iframeの外側にあるボタンでトリガする
function insertAtCursor(iframename, text, replaceContents) {
if(replaceContents==null){replaceContents=false;}
if(!replaceContents){//collapse selection:
var sel=document.getElementById(iframename).contentWindow.getSelection()
sel.collapseToStart()
}
document.getElementById(iframename).contentWindow.document.execCommand('insertHTML', false, text);
};
私はボタンをクリックして行くときに、フォーカスが変更されるため、これが失敗していると思います。しかし、私はこれを修正する方法がわかりません。ご協力ありがとうございました。
event.preventDefault()行を使用せずに作業するように提案したコードがあります。ただし、ボタンを押すたびにiframeのフォーカスが失われます。テキストは適切な場所に挿入されますが、ユーザーが入力しようとするとiframeには入りません。これと戦うために、私はこの行を追加しようとしました:if(document.activeElement.id!= 'home_codeframe'){$( '#home_codeframe')。 }。しかし、これはうまくいかなかった。どのようにこれを修正するための任意の考え?ありがとうございました。 –