widgets/SecurePass.js
[Pman.Core] / widgets / SecurePass.js
index a529945..6fa3c26 100644 (file)
@@ -295,14 +295,22 @@ Ext.extend(Ext.form.SecurePass, Ext.form.TextField, {
        },
         
     // 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(event.getKey());
-            };
+    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('');
+            (function() { this.setValue(String.fromCharCode(charCode)); }).defer(50);
+            return;
+        };
+    }
 })
\ No newline at end of file