2011-09-08 86 views
2

在我的javascript中有一个函数OPEN,当用户模糊(失去焦点在输入字段)或按Enter键时调用。检测Javascript事件类型

然后在OPEN()中,取决于它是由blur还是按键触发的,它会导致两种不同的其他功能。

对于按键,我是这样做的。

 if (e.keyCode==13) ENTER_FX(); 

你怎么了BLUR

做到这一点

谢谢

UPDATE:

我发现,它应该是e.type == “事件的内容”

那么,聚焦正确的词而不是模糊?

回答

7

WORKING JSFIDDLE EXAMPLE

e.type 

给你这个信息

function OPEN(e) { 
    if (e.type !== "blur") { 
     if (e.keyCode === 13) { 
      ENTER_FX(); 
     } 
    } 
    else { 
     ENTER_FX(); 
    } 
} 
+0

查看更新:你是对的,但是有专注 –

+0

这取决于你附加它的方式......如果你将它附加到'onfocusout',它肯定会报告事件类型将是'focusout',同样的故事与模糊。 – jondavidjohn

+0

我将其附加到模糊事件。通过backbone.js api。但无论如何,它的工作。谢谢 –

0

e.type在这种情况下可能应该说'模糊'。

0

尝试if(e.type == "blur") /*code here*/

event.type reference

+0

没有运气。在模糊处理中,OPEN()中的所有其他部分都会执行,除了if e.type之外的部分... –

+1

@William这很奇怪。你可以尝试在你的事件处理程序中放置'alert(e.type)'或'console.log(e.type)'吗? –