当有人在 CKeditor 中拉出图像对话框时,我希望能够从 URL 文本输入字段中获取 onfocus 事件。
我尝试为元素(id #cke_75_textInput)添加一个事件处理程序,但它仅在单击图像按钮后才在 DOM 中。
浏览了 CKEditor 3 JavaScript API 文档和这里,我很挣扎,找不到我需要的东西。
这是可以通过 API 完成的吗?
当有人在 CKeditor 中拉出图像对话框时,我希望能够从 URL 文本输入字段中获取 onfocus 事件。
我尝试为元素(id #cke_75_textInput)添加一个事件处理程序,但它仅在单击图像按钮后才在 DOM 中。
浏览了 CKEditor 3 JavaScript API 文档和这里,我很挣扎,找不到我需要的东西。
这是可以通过 API 完成的吗?
没有必要对焦点委托做一些魔术(这是一团糟,因为焦点不会冒泡)。只需使用 CKEditor API:
CKEDITOR.on( 'dialogDefinition', function( evt ) {
if ( evt.data.name == 'image' ) {
var def = evt.data.definition;
var onShow = def.onShow;
def.onShow = function() {
onShow && onShow.apply( this, arguments );
var input = this.getContentElement( 'info', 'txtUrl' );
console.log( input.getValue() );
input.on( 'focus', function() {
console.log( 'focused' );
} );
};
}
} );
PS。CKE4 的文档比旧的 CKE3 的文档更少 - http://docs.ckeditor.com/#!/api/CKEDITOR.dialog