移动web端<input type="number">手机上点击直接打开数字键盘,并修改样式去除最右端上下箭头

CSS样式代码:

input[type='number'] {
    	-moz-appearance:textfield;
	}
	input[type=number]::-webkit-inner-spin-button,
	input[type=number]::-webkit-outer-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

HTML页面代码:

<input type="text" id="loginName" name="loginName" value="请输入手机号码" onfocus="if (value =='请输入手机号码'){value =''} this.type='number'" onblur="this.type='text' if (value ==''){value='请输入手机号码'}"/>

其中,onblur事件似乎没有效果,希望路人朋友大神能给出更好的解决办法,拜谢。
要在 `<input type='number'>` 中保留只能输入数字的功能,同时取消上下滚动数字变化的功能,可以通过以下两种方式实现: ### 方式一:使用 CSS 去除上下箭头 通过 CSS 样式可以去除 `<input type='number'>` 右侧的上下箭头,从而避免通过上下箭头滚动改变数字。代码如下: ```css input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0; } input[type="number"] { -moz-appearance: textfield; } ``` 在 HTML 中使用 `<input type='number'>` 标签: ```html <input type="number" name="numberInput"> ``` 这种方式可以在视觉上移除上下箭头,阻止用户通过点击箭头来改变数字,但它没有从根本上禁止用户通过键盘输入非数字字符,`<input type='number'>` 本身的特性会保证只能输入数字 [^3]。 ### 方式二:结合 JavaScript 确保只能输入数字 如果需要进一步确保只能输入数字,可以结合 JavaScript 进行处理。示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Input Number Only</title> <style> input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0; } input[type="number"] { -moz-appearance: textfield; } </style> </head> <body> <input type="number" name="numberInput" onkeypress="return IsNum(event)"> <script> function IsNum(e) { var k = window.event ? e.keyCode : e.which; if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) { return true; } else { if (window.event) { window.event.returnValue = false; } else { e.preventDefault(); } return false; } } </script> </body> </html> ``` 在这个示例中,通过 CSS 去除上下箭头,同时使用 JavaScript 函数 `IsNum` 确保用户只能输入数字字符 [^1][^3]。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值