4

編集可能な div があり、ユーザーがボタンをクリックして選択したテキストのスタイルを変更したいと考えています。このエディターの太字または斜体のボタンと同じです。

しかし、ボタンをクリックすると、選択したテキストの選択が解除されます。

編集可能からのフォーカスがオフになっていてもスタイルを変更しても、選択したテキストを強調表示したままにする方法。

私のコード:

編集可能な分割:

var textbox= document.createElement("div");
textbox.setAttribute("contenteditable", "true");

ボタン :

var bold = document.createElement("div");
bold.innerHTML = "B";

ボタンクリック:

bold.addEventListener("click", function(){
        getSelectedText();
},false);

    function getSelectedText()
    {
       var html = "";
       if (window.getSelection) {
         html = window.getSelection().toString();
       } 

       else if (document.selection && document.selection.type != "Control") {
            html = document.selection.createRange().text;
       }
       alert(html);
    }
4

2 に答える 2

1

mousedownイベントの代わりにイベントを使用するか、ボタンを選択不可にclick設定してください。<div>

詳細については、この回答を参照してください。

于 2015-04-30T08:42:29.437 に答える