【问题标题】:follow url before hiding anchor-tag在隐藏锚标签之前关注 url
【发布时间】:2012-02-22 08:55:31
【问题描述】:

我有一个自动完成搜索表单,或多或少类似于 facebook 上使用的那个,我开始输入并显示名称列表。 我为这些名字中的每一个都做了链接,这样你就可以打开他们的个人资料页面。 我在搜索表单的输入字段“onblur”上也有一个功能,我在其中隐藏了带有所有名称的自动完成 div。这样当我在它外部单击时,它就不会保持可见。现在唯一的问题是,当我单击其中一个名称时,即使光标在悬停时确实发生了变化,页面也不会重定向到锚标记的个人资料页面。

有人知道吗?

【问题讨论】:

  • 你目前的代码是什么?
  • 显示一些代码,使用 jsfiddle.net。使用准备好的数据来加载一些配置文件,而不是使用 Facebook api。

标签: javascript search autocomplete anchor onblur


【解决方案1】:

这是因为你的 hide 事件在元素被实际点击之前移除了列表。有几种解决方案。

首先你可以使用 setTimeout 来隐藏

setTimeout( function() { /* hide list */ }, 500);

在回答您的评论时,不,您不能对事件重新排序。因此,您将不得不找到解决方法。有很多方法,但既然你使用的是 jQuery,我会这样做。

//you probably have something like this currently
$('element').blur( function() { $('results').hide(); });    

//change it to something like this
$('element').blur( function() { $('results').fadeOut(300); }); 

【讨论】:

  • 好的,我确实可以让 hide 事件超时。没想到是这样的。是否有另一种方法可以在隐藏事件之前优先考虑点击事件?是的,我正在使用 jquery。
  • @dreagan - 不,您不能对事件重新排序。我将用几个解决方案更新我的答案。
猜你喜欢
  • 2011-11-22
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
相关资源
最近更新 更多