2

我是java脚本的新手。我对按键和更改事件有点困惑。

以下是示例代码

 $("input").live('change',function ()
    {
       Alert("Change event call");
    });

    /
    $("input").live('keypress',function ()
    {            
       Alert("Keypress event call");
    });

何时调用 Keypress 事件并更改事件调用?

4

5 回答 5

6

更改事件

当元素的值发生变化时,该change事件被发送到元素。此事件仅限于<input>元素、<textarea>框和<select> 元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时会立即触发该事件,但对于其他元素类型,该事件会延迟到元素失去焦点为止。

按键事件

当浏览器注册键盘输入时,该keypress事件被发送到一个元素。这类似于keydown事件,除了键重复的情况。如果用户按住某个键,keydown 则触发一次事件,但keypress会为每个插入的字符触发单独的事件。此外,修饰键(如 Shift)触发keydown事件但不触发keypress事件。

事件处理程序keypress可以附加到任何元素,但事件仅发送到具有焦点的元素。可聚焦元素在浏览器之间可能会有所不同,但表单元素总是可以获得焦点,因此是此事件类型的合理候选者。

参考:

于 2012-11-23T09:19:33.050 回答
4

如果在元素失去焦点时更改了值,则会发生更改事件。每次按下并释放(非控制)键时都会发生 keypress 事件。

于 2012-11-23T09:19:12.597 回答
1

keypress表示您刚刚单击了一个键盘键

change表示您已更改项目的值

于 2012-11-23T09:20:01.100 回答
0

好吧,可以按下一些键,但值仍然不会改变。例如,如果您按 Enter 或 ctrl,则输入的值不会改变。

于 2012-11-23T09:19:28.493 回答
0

每次按下键盘键时都会触发 Keypress 事件。当控件失去焦点时调用更改。

于 2012-11-23T09:20:29.260 回答