为什么jQuery的.change()事件只会在右键单击时触发?

时间:2014-06-05 08:46:29

标签: javascript jquery html laravel onchange

当我修改输入元素时,我遇到了jquery' .change()事件的问题。据说,每次我对所述元素进行实时更改时,此事件都会触发。但在我的情况下,只有在按下右键单击按钮后它才会触发。以下是laravel框架上的代码:

HTML:

<div class="form-group">
    <label for="verifyPassword"><h4>Verify Password:</h4></label>
    {{ Form::password('password',array('class'=>'span3 form-control', 'id'=>'verify-password', 'placeholder'=>'Verify Password')) }}
</div>

JS:

$(document).ready(function(){
        $( "#verify-password" ).change(function() {
          alert( "Text Changed!" );
        });
});

希望有人能帮助我找到麻烦,让我找到完美的解决方案。感谢。

1 个答案:

答案 0 :(得分:4)

对于文本字段,在元素失去焦点(并且已对其'值进行了更改)之前,不会触发change事件。

来自API:

  

对于选择框,复选框和单选按钮,当用户使用鼠标进行选择时会立即触发事件,但对于其他元素类型,事件将延迟,直到元素失去焦点。

如果您需要知道值何时立即更改,请使用keyupkeypress