Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当类型为number的输入中的number发生变化时,如何触发函数?_Jquery_Html_Events_Input - Fatal编程技术网

Jquery 当类型为number的输入中的number发生变化时,如何触发函数?

Jquery 当类型为number的输入中的number发生变化时,如何触发函数?,jquery,html,events,input,Jquery,Html,Events,Input,假设我有一个输入,类型为数字,如下所示: <input type="number" step="0.05"> 当我使用键盘减少/增加我的值时工作,但当我使用箭头和鼠标时,该功能仅在鼠标向上时触发 函数renderCanvas() { console.log(“值为”+document.getElementsByTagName(“输入”)[0].value) } 您应该使用keyup和mouseup事件,因为您已经为jquery添加了标记。如果我理解正确,您希望在使用鼠标或键盘更改

假设我有一个
输入
,类型为
数字
,如下所示:

<input type="number" step="0.05">
当我使用键盘减少/增加我的值时工作,但当我使用箭头和鼠标时,该功能仅在鼠标向上时触发

函数renderCanvas()
{
console.log(“值为”+document.getElementsByTagName(“输入”)[0].value)
}

您应该使用
keyup
mouseup
事件,因为您已经为jquery添加了标记。如果我理解正确,您希望在使用鼠标或键盘更改值时显示或显示alert/console.log,如果这是正确的演示,您可以看到控制台在每次使用鼠标、键盘、数字键或箭头键时打印值。希望能有帮助

var此处=0;
$(“#我的输入”)。在('keyup mouseup change',function()上{
如果($(this.val()!=''){
log(此处为++);
log(“该值为”+$(this.val());
}
})


答案是使用
oninput
事件。

可能重复Nope。也许我不清楚,但本例中的JSFIDLE并没有给出期望的结果。第一次使用鼠标更改值时,应弹出警报。只有当鼠标不可能复制的时候它才会弹出。是的,应该可以。我一定把我的问题解释得很糟糕。你的解决方案不会冒犯你,但这是事实(至少在我的电脑上)比以前更糟糕。解决方案中的console.log仅在密钥打开时触发。我希望保持键盘的onchange行为,并在使用鼠标递增/递减时保持相同的行为。每次屏幕上的数字改变时,该函数都会触发。你对我的问题有更好的理解吗?提前谢谢你解释得很清楚,我也明白了你现在说的,奇怪的是对我来说它在所有情况下都能工作,你使用的是什么浏览器@JSmithFirefox Quantum 59.0.2(64位)我在chrome 66.0.3359.139版(官方版本)(64位)和
FF Quantum 59.0.3(64位)上测试了它
而且它在那里工作得很好。您可以更新到最新版本并重新检查,或者在chrome中进行测试@JSmithI刚刚在chrome和chrome canary上试用过,我得到了同样的结果。控制台日志仅在鼠标启动或按键启动时显示。即使我的更新不会改变,它也不能与旧版本一起工作。这相当简洁。您的贡献将得益于一些解释和/或代码示例。
<input type="number" step="0.05" onchange="renderCanvas()">