【发布时间】:2016-07-16 17:45:13
【问题描述】:
我正在尝试使用 input type=range 更改 ace 编辑器上某些元素中的文本,但是当我再次尝试编写时,编辑器会返回到使用 javascript 修改之前的先前值
var editordiv = document.getElementById("editor");
var editor = ace.edit("editor");
editor.getSession().setMode("ace/mode/javascript");
var elem;
editordiv.onmousedown=function(e){
if(e.target.classList.contains("ace_numeric")) elem=e.target;
}
function changeElement(range){
if(elem) elem.textContent=range.value; //not changing correctly editor content
}
#editor{
position:absolute;
width:100%;
height:100%;
}
.ace_constant {
pointer-events:auto !important;
}
#range{
position:absolute;
right:0;
}
<script src="https://cdn.jsdelivr.net/ace/1.2.3/noconflict/ace.js"></script>
<div id="editor">var i=30;
var j=70;</div>
<input type="range" id="range" oninput="changeElement(this)">
如何正确更改数字的值并将历史记录保留在 ace 编辑器中?
【问题讨论】:
标签: javascript ace-editor