2014-07-04 39 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吗?