方法只有一种:
直接使用减号运算符进行减法运算
举例:var a=2
var b=1
var c=a-b//这里通过减号运算符进行减法运算
我试图在输入大小正好为2时插入连字符。这是我的密码但问题是-直到输入第三个字符才出现。虽然连字符的位置正确,但我的意思是在两个字符之后。
如何在输入两个字符后立即获得连字符?
我尝试了onkeyup,但问题是当我按下backspace按钮时,它也会触发。当有两个字符时,会出现连字符,但在这一点上,如果我按backspace并删除连字符,它会立即返回。所以我选择onkeypress
发布于 9 月前
回答
在onKeyPress期间,输入文本框的值始终是更改前的值。这允许事件侦听器取消按键。
要在字段值更新后获取值,请计划在下一个事件循环中运行函数。通常的方法是使用0的超时调用setTimeout:
document.getElementById('numberInput').onkeypress = function() {
// arrow function keeps scope
setTimeout(() =>{
// now it is the value after the keypress
if (this.value.length == 2) {
this.value = this.value + '-'
}
}, 0)
}
<input type="text" id="numberInput">
本站已为你智能检索到如下内容,以供参考:
✿ 相关问答 4 个
React.JS如何使用“onKeyPress”只允许在输入中键入数字
如何使用OnKeypress根据按下的键来使用我的按钮
处理ReactJS中的onKeyPress事件
我的JS代码不工作,我没有看到bug
✿ 相关教程 1 个
JavaScript 入门教程
✿ 推荐阅读 4 个
一个香草JS可定制的选择框/文本输入插件⚡️
在Windows子系统Linux上运行(和不工作)的程序列表
React、Angular、Ember、Vue和纯JavaScript的输入掩码
Javascript应用程序的不可变、异步和混合状态
很好做,给加号添加一个事件,每点击一次增加。给减号也添加一个事件,每点击一次减一次。两个事件如下:
//增加function add(){
var img=document.getElementById('id')
var num=$(img).attr('opacity')//获取透明度数(ie是filter = 'alpha(opacity:'+alpha+')')
var result=0
if(num<1)result=num+0.1//每次加0.1,好像最大值是1
if(result>1) result=1
$(img).attr('opacity',result)//把加过的值赋给图片
}
//减
functuion fun(){
var img=document.getElementById('id')
var num=$(img).attr('opacity')//获取透明度数(ie是filter = 'alpha(opacity:'+alpha+')')
var result=0
if(num>0)result=num-0.1//每次减0.1,好像最小值是0
if(result<0) result=0
$(img).attr('opacity',result)//把加过的值赋给图片
}
具体要你自己调试,我只是给你提供一个思路。