- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不久前,我在使用拖放和 CKEditor 时遇到了问题。事实证明,编辑器存在一个错误(尚未解决),阻止我在每次销毁并重新创建 CKEditor 实例时重新附加它,从而无法使用 dragstart
事件。有关该错误的更多详细信息,请参阅this question
通过这样做,每次我重新创建编辑器实例时,dragstart
事件最终会触发越来越多的次数。
我想知道是否有办法在我重新创建编辑器实例时分离事件,因此它仅触发一次(因为我每次都必须重新附加它),就像修复错误之前的解决方法一样.
有人建议我执行以下操作:
You can put:
CKEDITOR.document.getById('contactList').on('dragstart', ... );
inside the plugin init method. After such change drag and drop should work, but dragstart will be fired multiple times. You can detach thedragstart
event, before you attach it again end everything should work fine.
我搜索了文档,但没有发现任何相关内容,所以如果有人可以帮助我,我会很高兴。
谢谢。
最佳答案
您始终可以保留监听器对象引用,并在不再需要时使用 removeListener
将其删除。 on
方法返回的对象的方法。
请参阅以下示例:
var editor = CKEDITOR.instances.editor1;
var myKeyListener = editor.on('key', function(){ console.log( 'key pressed' ); });
// Once you don't need the listener just call removeListener() method.
myKeyListener.removeListener();
关于javascript - 如何从 CKEditor 实例中分离 'dragstart' 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201511/
我是一名优秀的程序员,十分优秀!