$(".crFoodCatalog").live("keydown",function(){
var flag=/^[^0-9]$/.test($(this).val());
console.log(flag);
if(!flag){return false;}
}
代码如上,每次打印出来的flag值都是假,请问为什么?
------解决方案--------------------
var flag=/^\d+$/.test($(this).val());
------解决方案--------------------
键盘事件触发时文本框的内容仍未变化
要达到只允许输入数字的效果应该这样
- JScript code
$(".crFoodCatalog").live("keydown",function(e){ var keycode = $.browser.msie ? e.keyCode : e.which; var flag=keycode >=48 && keycode <= 57; console.log(flag); if(!flag){return false;} });
------解决方案--------------------
keyup试试
------解决方案--------------------
$('.crFoodCatalog).keyup(function() {
var _this = $(this);
_this.val(_this.val().replace(/\D/g, ''));
});