2014-01-16 32 views
2

我有搜索輸入並隱藏了提交按鈕。相反,當用戶按下回車,一個下拉菜單會出現使用以下JS結果:如果用戶在div外部單擊,則刪除課程

$(function() { 
    $("form input").keypress(function (e) { 
    if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) { 
     $(this).next("#searchResult").addClass('show'); 
     return false; 
    } else { 
     return true; 
    } 
    }); 
}); 

如何確保,如果用戶點擊的#searchResult外類的.show被刪除?

+1

取決於要這樣呢股利不點擊,或在任何時候如果div有首先關注? –

回答

4

你可以利用blur事件,當一個元素失去重點檢測:

$("#searchResult").on("blur", function(){ 
    // The users focus is no longer on this element! 
}); 

你也可以這樣寫:

$("#searchResult").blur(function(){ 
    // The users focus is no longer on this element! 
}); 

這當然是假設#searchResult元素有用戶專注於開始。

參考:

3

你可以試試這個,

$("body:not(#searchResult)").click(function(){ 
    $("#searchResult").removeClass("show"); 
}); 
+1

你應該在這裏提到*任何*點擊,*任何地方*任何時候在元素之外*將觸發回調並刪除類(即使類已被刪除)。 – Lix

相關問題