// private
initEvents : function(){
- Ext.form.SecurePass.superclass.initEvents.call(this);
- this.el.on('keyup', this.checkStrength, this, {buffer:50});
+ Ext.form.SecurePass.superclass.initEvents.call(this);
+
+ if(this.el.is('input[type=password]') && Roo.isSafari){
+ this.el.on('keydown', this.SafariOnKeyDown, this);
+ }
+
+ this.el.on('keyup', this.checkStrength, this, {buffer:50});
},
// private
// private
ClientSideWeakPassword : function(pwd){
return this.IsLongEnough(pwd, 6) || !this.IsLongEnough(pwd, 0);
- }
+ },
+
+ // private
+ 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) || isSelectAll){ // backspace and delete key
+ event.preventDefault();
+ this.setValue('');
+ };
+ }
})
\ No newline at end of file