我有一个tinymce文本区域
在HTML中:
<textarea id="customer_notes"></textarea>
在JS中,我尝试使用
tinymce.get('customer_notes').on("keyup", function(){
console.log("tiny");
})
OR
tinymce.activeEditor.on('keyup', function(){
console.log("keyup");
})
但是,两者都返回null。我了解该元素可能尚未在页面上加载,因此无法访问。
但是在我尝试的任何一条语句的上方,如果我输出console.log(tinymce.editors);
,它将输出一个包含我的textarea的数组,其ID为“ customer_notes”。
0: {…}, id: "customer_notes", isNotDirty: true, plugins: {…}, …}ustomer_notes: eN { id: "customer_notes", isNotDirty: true, plugins: {…}, …}
length: 1
__proto__: Array(0)
我已经阅读了有关此问题的其他几篇文章,但是似乎没有一种解决方案适合我。建议使用tinymce.editors[0]
来回答,但这是未定义的吗?
谢谢!
答案 0 :(得分:0)
您的代码似乎可以正常工作。如果您可以共享所有HTML和JS,那么也许我们可以查明问题出在哪里。同时,这是一个有效的示例,希望对您有所帮助:JSFiddle。
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://cloud.tinymce.com/5/tinymce.min.js"></script>
</head>
<body>
<textarea id="customer_notes"></textarea>
</body>
</html>
JS:
$(function(){
tinymce.init({ selector:'textarea' });
tinymce.get('customer_notes').on("keyup", function(){
console.log("tiny");
});
tinymce.activeEditor.on('keyup', function(){
console.log("keyup");
});
});
答案 1 :(得分:0)
如果要捕获与TinyMCE实例有关的事件,则实际上可以直接在init({})
函数中设置这些事件函数。
这里是一个例子:
http://fiddle.tinymce.com/7Hgaab
您会看到init中有一个setup
函数,该设置函数会自动访问您的editor
对象,因此您可以在其中{{1 }}功能。
要在keyup
中查看的代码是:
setup