2012-09-05 122 views
0

我有三个搜索类别(请参见第一张图片)。用户选择一个,然后在类别的空间中显示与该主题对应的搜索输入(请参阅第二张图)。我自动专注于使用jQuery的输入,以便用户可以轻松开始输入。如果用户改变主意并模糊输入,我将其隐藏并再次显示三个类别。火灾模糊事件,除非特定元素被点击

如果用户点击搜索按钮进入搜索状态,这一切都会很好,但我也想让他们能够点击搜索输入框旁边的搜索按钮。问题是,如果他们尝试点击去按钮,输入变得模糊,然后隐藏,并且提交点击从不被触发(点击此元素后,我无法解除模糊事件,因为它永远不会被触发 - 首先触发模糊)

State 1:

state 2:

那么,有没有办法执行(隐藏DIV)除非这种“走出去”元素使用jQuery或JavaScript点击绑定到blur事件的功能?

回答

1

您有几种选择:

  1. 只能隐藏在模糊输入,如果重点的容器外的地方去了,所以如果焦点已经到了“转到”按钮,你不”根本不隐藏输入。

  2. 您可以设计代码并将搜索问题作为ajax调用而不是表单提交。

  3. 您可以在短暂的setTimeout()之后隐藏模糊输入,它使表单提交在隐藏之前有机会发送。

+0

嗨感谢您阅读这些提示......我使用了第三个选项,并在模糊事件中设置了一个简短的超时时间以让点击通过。 – codelove

1

不是将blur事件放在输入上,而是将blur事件放置在容纳输入和Go按钮的容器上。

+1

感谢您的帮助,但无法得到模糊事件在容器div上触发,就像我可以为某些原因输入 – codelove

相关问题