Nic*_*ard 2 jquery events focus blur
我有一个带有几个输入字段的表单.当用户单击输入字段时,会显示隐藏的div,其中包含该字段的一些选择,然后他们可以选择一个选项,并将其设置为字段值.
目前,div被隐藏的方式是用户选择一个选项.这工作正常,但如果用户不想选择选项,则不会删除div.所以,我的解决方案是在输入字段上使用模糊事件,这将隐藏它们的div元素.这样,用户可以浏览表单,查看隐藏的div,并在离开该字段时隐藏它.这也正常工作.
当他们现在想要从div中点击某些内容以填充到输入中时,问题就出现了.因为我添加了模糊,甚至在用户尝试单击div中的选项时触发,在用户单击之前有效地隐藏div一小段时间,因此不向输入字段添加任何内容.
解决这个问题的最佳方法是什么?我想让blur事件隐藏div,但是当用户想要在div中单击时,需要有某种异常,blur事件不会隐藏他们试图点击的div.
谢谢您的帮助.
您可以在模糊事件上设置超时,并仅在另一个输入字段处于焦点时立即隐藏"帮助div".
像这样的东西:
$("#input1").focus(function() {
hideAllHelpers(); $("#helper1").show();
});
$("#input1").blur(function() {
window.setTimeout(function() { $("#helper1").hide(); },2000); });
});
$("#input2").focus(function() {
hideAllHelpers(); $("#helper2").show();
});
// etc...
Run Code Online (Sandbox Code Playgroud)
你当然可以使它更通用,它可以使用一些微调,但你明白了......
| 归档时间: |
|
| 查看次数: |
19616 次 |
| 最近记录: |