- /***
- * 重写Ext.form.HtmlEditor,为其添加键盘事件
- * author: hoojo
- * email: hoojo_@126.com
- * blog: http://blog.csdn.net/IBM_hoojo
- * create by: 2010-8-14
- * ext-lib: 3.2.1
- * version: 1.0
- */
- Ext.override(Ext.form.HtmlEditor, {
- initEditor : function(){
- var dbody = this.getEditorBody();
- var ss = this.el.getStyles('font-size', 'font-family', 'background-image', 'background-repeat');
- ss['background-attachment'] = 'fixed'; // w3c
- ss['background-color'] = 'white';
- dbody.bgProperties = 'fixed'; // ie
- Ext.DomHelper.applyStyles(dbody, ss);
- if(this.doc){
- try{
- Ext.EventManager.removeAll(this.doc);
- }catch(e){}
- }
- this.doc = this.getDoc();
- Ext.EventManager.on(this.doc, {
- 'mousedown': this.onEditorEvent,
- 'dblclick': this.onEditorEvent,
- 'click': this.onEditorEvent,
- 'keyup': this.onEditorKeyUpEvent,
- 'keydown': this.onEditorKeyDownEvent,
- 'keypress': this.onEditorKeyPressEvent,
- buffer:100,
- scope: this
- });
- if(Ext.isGecko){
- Ext.EventManager.on(this.doc, 'keypress', this.applyCommand, this);
- }
- if(Ext.isIE || Ext.isSafari || Ext.isOpera){
- Ext.EventManager.on(this.doc, 'keydown', this.fixKeys, this);
- }
- this.initialized = true;
- this.fireEvent('initialize', this);
- this.doc.editorInitialized = true;
- this.pushValue();
- },
- initComponent: function () {
- this.addEvents(
- 'initialize',
- 'activate',
- 'beforesync',
- 'beforepush',
- 'sync',
- 'push',
- 'editmodechange',
- 'keydown',
- 'keyup',
- 'keypress'
- );
- },
- onEditorKeyPressEvent : function(e){
- this.updateToolbar();
- this.fireEvent("keypress", this, e);
- },
- onEditorKeyUpEvent : function(e){
- this.updateToolbar();
- this.fireEvent("keyup", this, e);
- },
- onEditorKeyDownEvent : function(e){
- this.updateToolbar();
- this.fireEvent("keydown", this, e);
- }
- });
- /**
- * 重写后的Ext.form.HtmlEditor有了键盘的keyPress事件了
- */
- Ext.ns("Ext.hoo.editor");
- Ext.hoo.editor.HTMLEditor = Ext.extend(Ext.form.HtmlEditor, {
- constructor: function () {
- Ext.hoo.editor.HTMLEditor.superclass.constructor.call(this, {
- renderTo: Ext.getBody(),
- fieldLabel:'Biography',
- height:200,
- listeners: {
- "keydown": function (editor, e) {
- alert("keydown:" + editor.getValue());
- },
- "keyup": function (editor, e) {
- alert("keyup:" + editor.getValue());
- },
- "keypress": function (editor, e) {
- alert("keypress:" + editor.getValue());
- }
- }
- });
- }
- });
重写Ext.form.HtmlEditor
最新推荐文章于 2021-06-15 14:50:18 发布