input[type=number]只能输入数字(小数点问题)

问题:

  当input类型为number的时候,监听keyup事件。发现“11.”,只能获得到“11”。所以想实现只能输入数字、弹出数字弹出框的效果。

解决:

想了个简单粗暴的方法:

$('input').keyup(function(){
	var v = $(this).val();
	// 因为只能输入数字了,所以也不需要对数字格式进行判断了
	if (/^0+$/.test(v)) {
        v = '';
    }
    // 重新初始化  
    $(this).val('');
    // 赋值 ---- 简单粗暴
    $(this).val(v);
});

如果想可以输入小数点后面的数,在失去焦点过后再判断最后一位是否为小数点,监听change方法

$('input').change(function(){
	var v = $(this).val();
    // 重新初始化  
    $(this).val('');
    // 赋值 ---- 简单粗暴
    $(this).val(v);
});

你可能感兴趣的:(js)