我正在使用tinymce jquery plugin并尝试在textarea上初始化一个tinymce实例后访问api。
在这个例子中,我有一个隐藏按钮,当点击它时应该隐藏tinymce编辑器,但我得到一个错误。
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="js/tinymce/jquery.tinymce.js"></script>
<script type="text/javascript" src="js/test.js"></script>
</head>
<body>
<div><textarea id="textEditor" class="tinymce" disabled="disabled"></textarea></div>
<input type ="button" id="hide" value="Hide tinymce">
</body>
</html>
$(document).ready(function(){
//textEditor
$("#textEditor")
.tinymce({
// Location of TinyMCE script
script_url : 'js/tinymce/tiny_mce.js',
theme : "advanced",
theme_advanced_buttons1 : "bold,italic,underline,",
theme_advanced_resizing : false
})
//... see below ...//
});
更新:我现在有两个版本,一个是通过包装$(“#textEditor”)来工作的.tinymce()。hide();单击函数中的一行,以及一个只给行我自己定义的tinyMCE的行。
使用:
$("#hide").click(function(){
$("#textEditor").tinymce().hide();
})
不起作用:
$("#textEditor").tinymce().hide(); //error tinyMCE is not defined
答案 0 :(得分:4)
你可以尝试
tinymce.get("textEditor").hide();
要验证您是否正在使用正确的tinymce id,可以使用
警告您页面上的所有tinymce IDfor (var i = 0; i < tinymce.editors.length; i++) {
alert(tinymce.editors[i].id);
}
编辑:
此:
/** Option Block A error **/
// $("#textEditor").tinymce().hide(); //error tinyMCE is not defined
/** Option Block A error **/
不起作用,因为它会在初始化tinymce编辑器之前被调用。此时没有tinymce.get("textEditor")
。
答案 1 :(得分:1)
我认为你的jquery插件的路径不正确,因为那里提供了$ .tinymce()方法。如果找不到该文件,则此方法也是如此。
此外,您应该确保* script_url *字段中指定的路径有效,因为插件会尝试动态加载它。