0

この厄介な問題は Firefox でのみ発生します。link 要素を contentEditable 段落に追加すると、段落が 2 つまたは 3 つに分割されることがあります。これはエラーを表示せず、場合によっては数秒かかります。コードは次のとおりです。

function changeSelectedText(type,text) {
  var selObj = window.getSelection();
  var selRange = selObj.getRangeAt(0);
  var newElement = document.createElement(type);
  if(type == "a") {
    newElement.setAttribute('href', text.toLowerCase());
    newElement.setAttribute('target', "_blank");
  } else if(type == "span"){
    newElement.setAttribute('class', "big");
  }
  var documentFragment = selRange.extractContents();
  newElement.appendChild(documentFragment);
  selRange.insertNode(newElement);
  var range = document.createRange();
  range.selectNodeContents(newElement);
  selObj.removeAllRanges();
  selObj.addRange(range);
}

スパンを追加すると完全に機能しますが、リンクを使用すると、この奇妙な動作が発生することがあります。理由はありますか?

マイクが提案したようなjsfiddleへのリンクは次のとおりです: jsfiddleリンク

4

1 に答える 1