此代码不会立即触发:
$('form').on('change', '#price', function(){
// code here
});
但仅当我从其他地方的输入框中点击时。
即使在用户输入时如何触发代码?
现在,它一直等到他点击输入框。
答案 0 :(得分:2)
改为使用input
:
$('form').on('input', '#price', function(){
// code here
});
input
event 当
<input>
或<textarea>
元素的值发生更改时,将同步触发DOM输入事件。此外,当内容发生变化时,它也会对可信任的编辑器进行解雇。在这种情况下,事件目标是编辑主机元素。如果有两个或多个具有contenteditable为true的元素,则“编辑主机”是其父节点不可编辑的最近的祖先元素。同样,它也触发了designMode编辑器的根元素。
您可以使用keyup
和keydown
个事件,但请注意,如果您在文本框/ textarea中粘贴某些内容时使用keyup
或keydown
,则更改将不会是烧成。
阅读this thread以查看两个事件之间的差异。
答案 1 :(得分:0)
使用keyup
事件在用户输入时执行操作:
$('#price').on('keyup', function() {
/* do something */
});
答案 2 :(得分:0)
看看这个:http://api.jquery.com/keyup/
并在该页面报告了一个小例子。
$( "#target" ).keyup(function() {
alert( "Handler for .keyup() called." );
});
因此,当您按下某个键并释放它时,该事件将被触发
答案 3 :(得分:0)
我认为 #price 是您的输入。 ??
要在键入时触发代码,您可以使用:
$('form').on('keyup', '#price', function(){
// code here
});
你可以使用 keyup 或 keydown 活动