From 388629b5a588b146ac161e38e87ad4b3355dd043 Mon Sep 17 00:00:00 2001 From: wayne-zhang Date: Tue, 18 Dec 2012 17:51:48 +0800 Subject: [PATCH] Update numeric/jquery.numeric.js --- numeric/jquery.numeric.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/numeric/jquery.numeric.js b/numeric/jquery.numeric.js index 417f26c..a24ba27 100644 --- a/numeric/jquery.numeric.js +++ b/numeric/jquery.numeric.js @@ -139,8 +139,19 @@ $.fn.numeric.keypress = function(e) $.fn.numeric.keyup = function(e) { + // Determine if it is a paste action (CTRL+V or SHIFT+INS) + var paste = false; + // get the key that was pressed + var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; + // allow or deny Ctrl+V (paste), Shift+Ins + if((e.ctrlKey && key == 118 /* firefox */) || (e.ctrlKey && key == 86) /* opera */ + || (e.shiftKey && key == 45)) { + paste = true; + } + var val = $(this).val(); - if(val && val.length > 0) + // Only process pate on key up event. Then CTRL+A, Y, Z ... actions will be process normally. + if(val && val.length > 0 && paste) { // get carat (cursor) position var carat = $.fn.getSelectionStart(this);