2014-07-04 67 views
0

我已經做了一個可編輯的div,並希望選擇一些文本的一部分,並希望改變它的字體家庭上點擊不同的字體,家庭按鈕。 它改變,但保持先前的選擇也 如何更改選定的文本字體家庭在div點擊不同的按鈕的字體家庭

$('#message_div').on('selectstart', function() { $(document).one('mouseup', function() { st = this.getSelection(); var range = st.getRangeAt(0); var newNode = document.createElement("span"); newNode.setAttribute("class", "selectedText"); range.surroundContents(newNode); $(".selectedText").focus(); }); }); </script>

回答

0

我想你不應該聽「中選擇」事件,而不是聽你的按鈕拋出的「點擊」事件。

的代碼應該是這樣的:

$('.btn-font-change').click(function() { 
    // Browsers compat 
    if (window.getSelection) { 
     var range = window.getSelection().getRangeAt(0); 
    } else if (document.selection && document.selection.type != "Control") { 
     var range = document.selection.createRange(); 
    } 

    var newNode = document.createElement("span"); 
    newNode.setAttribute("class", "selectedText"); 

    range.surroundContents(newNode); 
    $(".selectedText").focus(); 
}); 

是它的工作?如果沒有,你可以創建一個可以重現你的頁面的jsfiddle嗎?