Sha*_*ras 5 javascript tinymce-4
好的。我知道以前可能有人问过这个问题:
但我的问题是,如何从外部按钮而不是工具栏按钮调用插件函数。
我添加了一个自定义插件:
tinymce.PluginManager.add('example', function(e) {
function customfunction(){
e.focus(true);
alert('Hello TinyMce');
}
}
);
Run Code Online (Sandbox Code Playgroud)
我customfunction从其他函数调用此函数,当我单击 时调用该函数Custom Button。像这样:
function clickme()
{
tinymce.get('textareaid').plugins.example.customfunction();
}
Run Code Online (Sandbox Code Playgroud)
按钮:
<button onclick="clickme()" >Custom Button</button>
Run Code Online (Sandbox Code Playgroud)
但这对我不起作用?
我custom plugin function用这种方式打电话是在做正确的事吗?
我错过了什么吗?
一种可能是向工具栏添加一个具有唯一性的按钮ID,并调用该按钮的单击事件。该插件看起来像这样:
tinymce.PluginManager.add('example', function(e) {
function customfunction() {
e.focus(true);
alert('Hello TinyMce');
}
e.addButton('testButton', {
id: "testButton",
text: 'Example',
icon: false,
onclick: function() {
// calls the custom function
customfunction();
}
});
}
);
Run Code Online (Sandbox Code Playgroud)
然后像这样初始化tinymce编辑器:
tinymce.init({
selector: "textarea",
plugins: "example",
// show the button
toolbar: "testButton undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
Run Code Online (Sandbox Code Playgroud)
最后调用按钮点击事件:
function clickme()
{
document.getElementById("testButton").click();
}
Run Code Online (Sandbox Code Playgroud)
不要使用add_filter. 完整的代码形成你的tinymce小提琴:
<script type="text/javascript">
tinymce.PluginManager.add('example', function(e) {
function customfunction() {
e.focus(true);
alert('Hello TinyMce');
}
e.addButton('testButton', {
id: "testButton",
text: 'Example',
icon: false,
onclick: function() {
customfunction();
}
});
}
);
tinymce.init({
selector: "textarea",
plugins: "example",
toolbar: "testButton undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
//add_filter('mce_external_plugins', 'example');
function clickme()
{
document.getElementById("testButton").click();
}
</script>
<form method="post" action="">
<textarea name="content" id="textareaid"></textarea>
</form>
<button onclick="clickme();" >abc</button>
Run Code Online (Sandbox Code Playgroud)