我需要一点Codemirror帮助。我想要做的是当我点击文本框时,我想获得它的ID。
使用纯HTML文本框,我可以获得textarea的ID。请参阅此处的代码:http://jsfiddle.net/aWAQY/
<form name="x" enctype="multipart/form-data" action="#" method="POST">
<textarea id="testextarea" name="testextarea" onClick="getname();"></textarea>
</form>
<script>
function getname() {
var tname = document.getElementById('testextarea').name;
alert(tname);
}
</script>
但是如果我通过onClick在CodeMirror文本框上调用getname()函数,则没有任何反应。实际上甚至没有onClick =&#34;警告(&#39; hello world&#39;);&#34;弹出。
我是否有其他特定方式可以获取CM textarea的ID和/或使onClick工作?
谢谢!
答案 0 :(得分:1)
谢谢大家,发现它:这需要CM onmouse活动。 http://codemirror.net/doc/manual.html#events
不需要onClick,只需要添加到CM实例:
instance.on("mousedown", function(instance, e) {
var tname = document.getElementById('testextarea').id;
alert(tname);
})
答案 1 :(得分:0)
尝试一下,我认为这样可行。
<form name="x" enctype="multipart/form-data" action="#" method="POST">
<textarea id="testextarea" name="testextarea" onClick="getname(this.id);"></textarea>
</form>
<script>
function getname(id) {
alert(id);
}
</script>
答案 2 :(得分:-1)
我不了解CodeMirror,但是那里的代码应该可以工作,我不会在CodeMirror中烦扰。
您还可以引用事件目标来获取事件处理程序中的名称:
function( event ) {
var tname = event.target.name;
alert( tname );
}
有关没有内联JS的示例,请参阅http://jsfiddle.net/feeela/aWAQY/1/。
或更新版本,在dame textarea上使用两个事件处理程序:http://jsfiddle.net/feeela/aWAQY/2/