收听ckeditor小部件事件
Listen on ckeditor widget events
我尝试扩展简单的box小部件教程(http://docs.ckeditor.com/#/guide/widget_sdk_tutorial_1),但我并不真正理解。我的目标之一是,如果小部件中的一个可编辑字段(例如simplebox标题)聚焦,则触发一个事件。但不幸的是,只有当小部件本身变得专注时,我才能收听:
editor.widgets.add('simplebox', {
// definitions for
// button, template, etc
init: function() {
this.on('focus', function(ev){
console.log('focused this');
});
}
});
或者如果数据发生变化:
CKEDITOR.plugins.add('simplebox', {
// my plugin code
init: function (editor) {
editor.widgets.on( 'instanceCreated', function( evt ) {
var widget = evt.data;
widget.on('data', function(evt){
console.log("data changed");
});
});
}
//even more code
});
如何收听小部件中的可编辑字段?对我来说,另一个挑战是,如果小部件被删除,就触发一个事件。也许有人也知道如何倾听这个事件?
如何收听小部件中的可编辑字段?
小部件中没有可编辑字段的事件。它们的行为类似于主可编辑对象,因此当您更改其中的某些内容时,editor#change
事件将被激发。
对我来说,另一个挑战是,如果小部件被删除,就触发一个事件。
有widget#destroy
事件,但您不会发现它非常有用。原因是小部件在删除时并不总是被销毁,因为有很多方法可以做到这一点
如果您在选择小部件时按下退格,则是-此事件将被触发,因为删除是直接在小部件上进行的。但是,它是在小部件被删除后被激发的。
如果您选择编辑器的全部内容并按退格,则浏览器会将其删除,因为在这种情况下浏览器会处理此键。因此,CKEditor实现了一个小型垃圾收集器,它会不时检查哪些小部件实例被删除并销毁。您可以通过更频繁地调用editor.widgets.checkWidgtes()
来增加频率,例如在editor#change
上,但它不会改变任何内容。在这两种情况下,都会在删除小部件后触发事件。
相关文章:
- 收听ckeditor小部件事件
- 使用onClick事件扩展Aviarc容器小部件
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 剑道窗口还原在最小化然后还原时不调用调整大小事件
- 小部件内类中的气泡事件
- 在 JavaScript 事件中添加最小值和最大值
- 浏览器窗口最小化/最大化事件
- AngularJS没有't在Django管理日期小部件上的jQuery事件后更新ng模型
- 从 onChange 事件中获取小部件的旧值
- 用硒填充和操作jqGrid的搜索小部件似乎不会触发DOM表单事件
- 播放,Soundcloud oembed 小部件的暂停事件
- 小部件中的杜兰达尔事件
- SoundCloud HTML5 小部件未触发加载进度事件
- Dijit 1.7+ 小部件:如何将事件逻辑与现在分开
- 设置剑道小部件事件的回调函数
- 将Google Analytics(分析)点击事件跟踪器添加到Wordpress社交登录小部件元素
- 自定义点击事件触发器,小部件jquery
- 谷歌日历-事件旁边的小图标
- 按钮事件中window.location更改时,IE9 onbeforeunload调用了两次..最小繁殖
- 阻止jQuery小部件事件