tinymce jquery插件错误tinymce不是一个函数

时间:2011-06-16 18:13:44

标签: jquery-plugins tinymce

我正在使用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

2 个答案:

答案 0 :(得分:4)

你可以尝试

tinymce.get("textEditor").hide();

要验证您是否正在使用正确的tinymce id,可以使用

警告您页面上的所有tinymce ID
for (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 *字段中指定的路径有效,因为插件会尝试动态加载它。