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

时间:2012-11-23 09:17:23

标签: javascript jquery

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

以下是示例代码

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

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

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

5 个答案:

答案 0 :(得分:6)

更改活动

  

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

Keypress事件

  

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

     

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

<强>参考文献:

答案 1 :(得分:2)

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

答案 2 :(得分:1)

keypress表示您只是点击了键盘键

change表示您更改了项目的值

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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