У меня есть редактируемый 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'). Focus(); }. Однако это не сработало. Любые мысли о том, как это исправить? Спасибо. –