それは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)">
input type=range
でエースエディタ上のいくつかの要素のテキストを変更しようとしていますが、私は再び書き込みしようとすると、以前の値に、エディタに戻ります
数値の値を正しく変更し、履歴をエースエディタに保存するにはどうすればよいですか?
しかし、これはテキスト内のすべての数字または同じものを表示する行を置き換えることになります。 – shuji
をターゲットにしていますので、 'ace_numeric'をターゲットにすると、置き換える条件をよりよく定義できますか?代わりにエースレンジを使用してこれを行い、1列の行/列をターゲットにすることができます。 –
大丈夫です、あまりにも単純すぎるまではコードを編集してしまって申し訳ありません。マウスの下の定数は入力によって変更されるはずです(この場合はマウス操作の後)。それを元に戻しました。 – shuji