2011-09-08 83 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)'嗎? –