NoB*_*ugs 2 javascript wordpress tinymce tinymce-4
如果您运行,Tinymce用于触发文本颜色更改事件:
tinymce.activeEditor.on('execCommand', function() {console.log(arguments);} )
Run Code Online (Sandbox Code Playgroud)
你会看到execCommand ForeColor,只要文本颜色改变就会运行.如果您查看TinyMCE-Textcolor插件,它似乎没有任何execCommands或任何方法来检测文本颜色何时更改.
TextColor插件不再触发execCommand事件,因为自提交以来它直接使用Formatter基础结构.所以你不能得到你的旧事件.
但是,您可以使用formatChanged格式化程序来提供回调:
tinymce.activeEditor.formatter.formatChanged('forecolor', function (isNew, args) {
if (isNew)
console.log("new color", args.node.style.color);
}, true)
Run Code Online (Sandbox Code Playgroud)
演示JSFiddle.
但即使您只选择一些已经着色的文本,这也会触发......所以很遗憾,这不是最佳选择.
当然formatter.apply可以用猴子修补来解雇旧ExecCommand事件:
var oldApply = tinymce.activeEditor.formatter.apply;
tinymce.activeEditor.formatter.apply = function apply(name, vars, node) {
oldApply(name, vars, node);
tinymce.activeEditor.fire('ExecCommand', {name: name, vars: vars});
}
Run Code Online (Sandbox Code Playgroud)
演示JSFiddle.
但这不可能在全球范围内完成,并且必须为每个tinymce编辑器实例重复,因此它再次不是最佳解决方案......
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |