keyup()事件的“跳出”

时间:2013-03-11 18:13:34

标签: jquery

$('input[type="text"]').keyup(function(e){

     if(e.which === 13){
         //if enter is pressed
         //ignore the rest of the code below
     }

     doStuff();
});

在某些条件下跳过其余代码的正确语法是什么(例如,当按下enter时)。我知道我会将它包装在if语句中,但我想知道是否有类似于return false;的内容。

但是,我知道返回false同时执行e.stopPropagation()e.preventDefault(),这显然不是我在这种情况下所追求的。或许返回一个布尔值?

1 个答案:

答案 0 :(得分:3)

只有return语句也可以这样做。return会导致函数立即退出,之后的任何代码都不会被执行。

$('input[type="text"]').keyup(function(e){

     if(e.which === 13){
         //if enter is pressed
         //ignore the rest of the code below
         return;
     }

     doStuff();
});

修改:

T.J.Crowder已将这些宝贵的信息置于评论中。所以只要把它放在这里,我同意它。

有用的是要知道,在完全不使用return语句的函数之间JavaScript之间没有显着差异(因此,只需通过到达代码的末尾“返回”),使用return;没有参数,并使用return undefined;。在所有这三种情况下,调用该函数的代码都将未定义为调用的结果。