jquery判断文本框失去焦点的问题

目前在做一个带提示的文本框,
意思就是当输入的时候,下方会有一个div对本次数据进行友好提示。

目前遇到一个问题:
当文本框失去焦点的时候,希望提示div隐藏,
但是有个限定,就是如果是点选div的提示信息时,此div不能被隐藏。

目前在input的blur事件里写隐藏div事件,点击div时也会隐藏掉提示div。
因为它确确实实是触发了blur事件。

哪位高手能提供一个解决方案,目标:
1、就是无论是点击页面,或是按tab键造成的input失去焦点时,会隐藏提示div
2、但是如果是点击在该提示div时,不要触发blur事件(或者提示div不隐藏)

3个回答

blur用setTimeout延时隐藏,用全局变量记录住计时器句柄,div的onclick事件清除clearTimeout计时器就行

showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复woduha: 多个计时器直接存储到dom对象上,不能公用
4 年多之前 回复
woduha
woduha 延时隐藏应该是个解决方法,我得写出来试试,不知道有没有其他优秀的解决方案,因为这个文本框有可能一个页面多个,如果多个的话,一个公用的延时变量会影响其他对象。
4 年多之前 回复

在给div一个鼠标点击事件呗

woduha
woduha 点击的瞬间就出发blur了,div加事件处理什么内容?
4 年多之前 回复
 给div移入和移出事件,定义变量a=0;移入的时候+1,移出的时候减一,当onblur的时候a=0则在div外,a=1则在div内
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐