我有搜索输入,但隐藏了提交按钮。相反,当用户按下Enter键时,将使用以下js出现带有结果的下拉列表:

$(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;
    }
  });
});


如果用户单击.show以外的位置,如何确保删除#searchResult的类?

最佳答案

您可以利用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元素让用户开始关注。

参考:


blur()

10-04 14:03