Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php jquery中动态更改内容可编辑div中每行的行高?_Javascript_Html_Css_Contenteditable - Fatal编程技术网

Javascript 如何在php jquery中动态更改内容可编辑div中每行的行高?

Javascript 如何在php jquery中动态更改内容可编辑div中每行的行高?,javascript,html,css,contenteditable,Javascript,Html,Css,Contenteditable,我想为我的网站制作一个富文本编辑器。我使用了content editable div。我已经完成了我的编辑器的最大功能,如粗体斜体对齐等。现在我想为它设置几行间距。当我将光标放在一行中时,然后从下拉菜单中单击任何特定的行高度,只会更改行高度,不会更改其他行。我不知道怎么做。所以请帮帮我。下面是它的基本思想。 html代码 <select>line Space <option>20px</option> <option>80px<

我想为我的网站制作一个富文本编辑器。我使用了content editable div。我已经完成了我的编辑器的最大功能,如粗体斜体对齐等。现在我想为它设置几行间距。当我将光标放在一行中时,然后从下拉菜单中单击任何特定的行高度,只会更改行高度,不会更改其他行。我不知道怎么做。所以请帮帮我。下面是它的基本思想。 html代码

<select>line Space
    <option>20px</option>
    <option>80px</option>
    <option>100px</option>
    <option>200px</option>
</select>
<button id="bold" onclick="document.execCommand('bold')">Bold</button>



<div id="textcontent" contenteditable ="true"></div>
试着这样做:

<select id="lineHeight" onchange="changeLineHeight(this)">
<option value="20px">20px</option>
<option value="80px">80px</option>
<option value="100px">100px</option>
<option value="200px">200px</option>
</select>
<button id="bold" onclick="doThis()">Bold</button>

<div id="textcontent" contenteditable ="true" STYLE="height:300px; background-color:white; overflow:auto; width:100%;">

</div>
<script>
    function changeLineHeight(sel) {
        var t = document.getElementById('textcontent');
        t.style.lineHeight = sel.value;
    }
</script>

20px
80px
100px
200px
大胆的
功能更改线高度(sel){
var t=document.getElementById('textcontent');
t、 style.lineHeight=选择值;
}

示例:

这是我的工作。所以试试这个可能对你也有帮助。(单节点和多节点)


var selectedElement=null;
函数singleline(){
document.execCommand('formatblock',false,'p')
var selectedNodes=[];
var sel=rangy.getSelection();
对于(变量i=0;i
“所以请帮帮我”不符合编程问题的条件。另外,您请求帮助的主题非常广泛,我看不出如何在Stackoverflow上合理地回答这个问题。另外,对
docuemnt.execCommand()
的支持因浏览器而异:您找到答案了吗?我在寻找同样的东西@是的,我得到了答案。请参阅下面已接受的分数答案。谢谢您的回答。这对整个div来说是很好的。但我的问题是-我想分别更改每行的行高度。可能吗?有人用Internet Explorer试用过吗?文档在
formatblock
上这样说:“Internet Explorer只支持标题标记H1-H6、地址和PRE”
<select id="lineHeight" onchange="changeLineHeight(this)">
<option value="20px">20px</option>
<option value="80px">80px</option>
<option value="100px">100px</option>
<option value="200px">200px</option>
</select>
<button id="bold" onclick="doThis()">Bold</button>

<div id="textcontent" contenteditable ="true" STYLE="height:300px; background-color:white; overflow:auto; width:100%;">

</div>
<script>
    function changeLineHeight(sel) {
        var t = document.getElementById('textcontent');
        t.style.lineHeight = sel.value;
    }
</script>
 <script>
       var selectedElement = null;

        function singleline() {
            document.execCommand('formatblock', false, 'p')
            var selectedNodes = [];
            var sel = rangy.getSelection();
            for (var i = 0; i < sel.rangeCount; i++) {
                selectedNodes = selectedNodes.concat(sel.getRangeAt(i).getNodes());
                $(selectedNodes).css("height", "20px");       
            }
            selectedElement = window.getSelection().focusNode.parentNode;
            $(selectedElement).css("height", "20px");              
        }
 </script>