按键和JavaScript的变化有什么区别

Raj*_*aje 1 javascript jquery

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

以下是示例代码

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

    /
    $("input").live('keypress',function ()
    {            
       Alert("Keypress event call");
    });
Run Code Online (Sandbox Code Playgroud)

当Keypress事件正好调用并更改事件调用时?

Vis*_*ioN 6

改变事件

change当其值改变事件发送给一个元素.此事件仅限于<input>元素,<textarea>框和<select> 元素.对于选择框,复选框和单选按钮,当用户使用鼠标进行选择时会立即触发事件,但对于其他元素类型,事件将延迟,直到元素失去焦点.

Keypress事件

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

keypress事件处理程序可以连接到任何元件,但事件只发送到具有焦点的元件.可聚焦元素可以在浏览器之间变化,但是表单元素总是可以获得焦点,因此这种事件类型是合理的候选者.

参考文献: