Ich versuche, den Text in einigen Elementen auf Ass-Editor mit einem input type=range
zu ändern, aber wenn ich versuche, wieder zu schreiben, zu dem Editor kehrt einen vorherigen Wert, bevor es mit Javascript geändertWie sollte ich den Inhalt der Elemente im Ace-Editor ändern?
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)">
Wie kann ich den Wert einer Zahl korrekt ändern und den Verlauf im ace Editor behalten?
aber das wird alle Zahlen im Text oder die Zeilen ersetzen, die gleich aussehen – shuji
also Targeting 'ace_numeric' können Sie Ihre Kriterien zum Ersetzen besser definieren? Sie können alternativ dazu einen Ass-Bereich verwenden und auf die 1at-Zeile/-Spalte zielen. –
ok, es tut mir leid, dass ich den Code bearbeitet habe, bis es zu einfach war. Die Konstante unter der Maus soll durch die Eingabe modifiziert werden, in diesem Fall nach dem mousedown-Ereignis. Habe es zurück geändert. – shuji