2016-04-11 3 views
1

Когда мое текстовое поле было всего лишь текстовым полем, oninput запускал мою функцию. Теперь, когда я преобразовал текстовое поле в CodeMirror, я не могу зарегистрировать console.log().Использование oninput с CodeMirror

Это, как я использовал CodeMirror

var editor = CodeMirror.fromTextArea(document.getElementById("textArea"), { 
mode: "javascript", 
lineNumbers: true, 
lineWrapping: true, 
theme : 'monokai' 
}); 

Вот текстовое поле с oninput функциональностью

<textarea id="textArea" oninput="return myKeyPress(event)"></textarea> 

Вот моя функция, которая должна вызываться oninput

function myKeyPress(e) { 
    socket.emit('textAreaText', document.getElementById('textArea').value); 
    console.log("first emit"); 
    } 

Как могу ли я запустить эту функцию, когда текстовое поле получает вход?

+0

«перемена» событие похоже, работает для меня: 'editor.on (« change »,() => {/ * ... * /});' – JoeRocc

ответ

0

Я не уверен, если это то, что вы хотите, но это работает для меня, я заметил гнездо, потому что я не могу определить его на скрипку:

<script> 
var editor = CodeMirror.fromTextArea(document.getElementById("textArea"), { 
mode: "javascript", 
lineNumbers: true, 
lineWrapping: true, 
theme : 'monokai' 
}); 
function myKeyPress(e){ 
//socket.emit('textAreaText', document.getElementById('textArea').value); 
console.log("first emit"); 
} 
</script> 
<textarea id="textArea" oninput="return myKeyPress(event)"></textarea> 

Here the fiddle

+1

Похоже, что это работает, потому что JSFiddle пропускает всю вещь «Зеркало кода», и вы просто иметь нормальную текстовую область – PencilCrate

Смежные вопросы