我有三个搜索类别(见第一张图片)。用户选择一个,我在类别的空间中显示与该主题对应的搜索输入(参见第二张图像)。我使用jQuery自动关注输入,以便用户可以轻松地开始输入。如果用户改变主意并模糊输入,我会隐藏它并再次显示三个类别。
如果用户点击Enter进行搜索,这一切都很有效,但我也想让他们能够点击搜索输入字段旁边的go按钮。问题是如果他们试图单击go按钮,输入会模糊,然后隐藏,提交点击永远不会被触发(我点击此元素时无法取消绑定模糊事件,因为它永远不会被触发 - 首先触发模糊)< / p>
那么有没有办法执行绑定到blur事件的函数(隐藏div)除非使用jQuery或JavaScript点击这个“go”元素?
答案 0 :(得分:1)
您有几种选择:
如果焦点已移到容器外的某处,则只能隐藏模糊输入,因此如果焦点已转到“开始”按钮,则根本不会隐藏输入。
您可以将代码设计并将搜索问题作为ajax调用而不是表单提交。
您可以在短暂的setTimeout()
之后隐藏模糊输入,这样可以让表单提交在隐藏之前发送。
答案 1 :(得分:1)
不是将blur事件放在输入上,而是将blur事件放在容纳输入和Go按钮的容器上。