[英]Tinymce.get and tinymce.activeEditor both return null
我有一個HTML中的tinymce textarea: <textarea id="customer_notes"></textarea>
在JS中我嘗試訪問這個textarea
tinymce.get('customer_notes').on("keyup", function(){ console.log("tiny"); })
要么
tinymce.activeEditor.on('keyup', function(){ console.log("keyup"); })
但是,兩者都返回null。 我知道可能存在未在頁面上加載元素的問題,因此無法訪問。
但是,如果我輸出console.log(tinymce.editors);
我會嘗試上面的任何一個語句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]
但這是未定義的?
提前致謝!
你的代碼似乎工作正常。 如果您可以共享所有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");
});
});
如果要捕獲有關TinyMCE實例的事件,您可以直接在init({})
函數中設置這些事件函數。
這是一個例子:
http://fiddle.tinymce.com/7Hgaab
您將看到init中有一個setup
功能,該設置功能會自動訪問您的editor
對象,因此您可以在該setup
功能中設置您的keyup
事件功能。
要在init({})
查看的代碼是:
setup: function (editor) {
editor.on('keyup', function (e) {
console.log('A key was pressed: ', e.keyCode);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.