数字字段上的Shift+向上箭头行为
Shift + up arrow behaviour on number field
我有一个要求,在html数字字段上按Shift+上/下箭头键时需要跳10,有人知道是否有任何现有的解决方案或任何方法吗?
任何形式的建议或帮助都将不胜感激。
[EDITED]您可以使用下面的代码段来实现这一点
查看此JSFiddle演示:https://jsfiddle.net/ctkt66a0/9/
HTML:
<label for="user_lic">Number of user license : </label><input id="user_lic" type="text" value ="5" />
Javascript
window.onkeyup = function(e) {
if (e.keyCode == 38)
{
if (e.shiftKey === true)
{
// new line
//alert('yes');
var valu = parseInt($('#user_lic' ).val()) + parseInt(10);
//alert(valu);
$('#user_lic').val('');
$('#user_lic').val('').val(valu);
}
else
{
// run your function
}
return false;
}
else if (e.keyCode == 40) {
if (e.shiftKey === true)
{
// new line
//alert('yes');
var valu = parseInt($('#user_lic' ).val()) - parseInt(10);
//alert(valu);
$('#user_lic').val('');
$('#user_lic').val('').val(valu);
}
else
{
// run your function
}
return false;
}
}
HTH
这里的答案有点奇怪,这是我经常想知道的问题(当然应该内置!)。
这个代码在每个数字输入中循环。如果你没有按下shift或向上或向下键,它会提前退出,如果输入值为空,它会先给它一个值0(因为你不能从空字符串中加减)。它是一个封装在自调用函数中的函数,因此我可以包含UP
和DOWN
常量。
(function(){
const UP = 38;
const DOWN = 40;
Array
.from(document.querySelectorAll("input[type='"number'"]"))
.forEach( input => {
input.addEventListener("keydown", (e) => {
if(!e.shiftKey || (e.keyCode != UP && e.keyCode != DOWN)){
return;
}
e.preventDefault();
if(input.value == ""){
input.value = 0;
}
if(e.keyCode == UP){
return input.value = parseFloat(input.value) + 10;
}
if(e.keyCode == DOWN){
input.value = parseFloat(input.value) - 10;
}
});
})
})();
举个例子:
https://codepen.io/EightArmsHQ/pen/bfde2271e0bf3eeaab347b4eeac06efe?editors=0010
检查此JsFiddle Demo
可以使用step
属性
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 在wordpress一定时间后更改自定义字段
- 如何在HTML输入字段中添加不可删除的后缀
- Meteor-添加用户自定义字段的方法不起作用
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 带有let的JS/EECMAScript6私有字段的模式
- 按钮字段确认点击不'不起作用
- jQuery Wan Spinner插件的多个字段
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中