0

我在标题中有一个用户搜索栏。输入后,会动态显示一个包含相关用户的 div。但是,当我单击用户名时,焦点输出会导致 div 立即消失,因此未单击链接。我该如何解决这个问题?

索引.js.erb:

if($('#headersearch').val().trim() ==  "") 
  {
    $("#header_user_list").html('');      //empty search bar  => removes div
  }
else
  {
    $("#header_user_list").html('<%= j render @header_users %>')
  }
$('#headersearch').focusout(function() { $('#header_user_list').html(''); });

当我单击其他地方时,我确实希望将焦点保持在 div 上。但我希望能够点击用户的名字来导航到他们的页面。有没有一种简单的方法可以实现这一目标?谢谢!

4

2 回答 2

0

你可以使用:

$('#headersearch').focusout(function () {
    $('#header_user_list').delay(30).hide(0, function () {
        $(this).empty();
    });
});

或经典的超时或更好的逻辑。

于 2013-07-09T11:02:26.737 回答
0

如果我没听错的话..你为什么不使用点击功能?就像是:

$('yourElement').click(function() {
    // things that should happen after click, e.g.
    // opening a specific user page
    // or dismissing the menu
});
于 2013-07-09T12:39:30.743 回答