【发布时间】:2013-07-06 20:17:47
【问题描述】:
当input 中的inpt 类的值发生变化时,我必须检测到变化。我的解决方案:
我有这个输入:
<input type="text" class="inpt" />
我有这张支票:
$('input.inpt').on("input change", function() {
doStuff();
})
当我在输入中输入内容时,doStuff() 会立即执行。当我需要在 javascript 中更改输入值时,我会这样做:
$('input.inpt').val(value);
$('input.inpt').change();
这是一个好方法吗(因为使用这样的更改功能似乎有点脏)?它适用于所有浏览器吗?谢谢。
【问题讨论】:
-
on("input"肯定不会做太多... -
你可以使用
keypress不能吗? -
@hungerpain 我不认为,因为输入的值可以通过javascript中的某些函数进行更改。
-
onkeydown (当用户按下按键时触发), onkeypress (当用户按下按键时触发) onkeyup (当用户释放按键时触发), onchange (当用户按下按键时触发),元素的值被改变)
-
@Brett:
change触发 text-input(和textarea)元素,一旦该元素失去焦点/被模糊。不是马上。
标签: javascript jquery onchange