// private
initEvents : function(){
-
+ Ext.form.SecurePass.superclass.initEvents.call(this);
+
if(this.el.is('input[type=password]') && Roo.isSafari){
- this.el.on('keydown',
- },this);
+ this.el.on('keydown', this.SafariOnKeyDown, this);
}
- Ext.form.SecurePass.superclass.initEvents.call(this);
+
this.el.on('keyup', this.checkStrength, this, {buffer:50});
},
},
// private
- SafariOnKeyDown : function(event){
- if((event.getKey() == 8 || event.getKey() == 46) && this.getValue().length ==1){ // backspace and delete key
- event.preventDefault();
- this.setValue('');
- };
+ SafariOnKeyDown : function(event){
+ var isSelectAll = false;
+ if(this.el.dom.selectionEnd > 0){
+ isSelectAll = (this.el.dom.selectionEnd - this.el.dom.selectionStart - this.getValue().length == 0) ? true : false;
}
+ if(((event.getKey() == 8 || event.getKey() == 46) && this.getValue().length ==1)){ // backspace and delete key
+ event.preventDefault();
+ this.setValue('');
+ return;
+ };
+ if(isSelectAll){ // backspace and delete key
+ event.preventDefault();
+ this.setValue(String.fromCharCode(charCode));
+ return;
+ };
+ }
})
\ No newline at end of file