如何在div中更改所选文本字体系列,单击字体系列的不同按钮

时间:2014-07-04 12:54:08

标签: jquery editor

我做了一个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>

1 个答案:

答案 0 :(得分: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吗?