我想要做的是以下内容:
我有一个<input>
元素,并且onclick
在那个输入中,我切换了某个元素<div>
(请参见下文)
<div>
<table>
<tr>...</tr>
...
...
</table>
</div>
当我单击上表中的一行时,我想触发一个事件(例如,将某个值放在<input>
上面,然后隐藏整个<div>
. 我已经让它工作这么远了。
问题:当显示 div 但没有 <tr>
点击(例如点击背景)时,我想隐藏<div>
这一次。所以我把onblur
事件放在了,<input>
并在发生这种情况时隐藏了 div。这行得通。
问题:但是现在,当我正确选择 a<tr>
时,onblur
首先触发 ,因此 div 和 table 被隐藏并且没有触发 tr onclick 。:(
到目前为止我的解决方案:我删除了 onblur 事件并制作了类似的东西
$(document).mousedown(function() {
If event.target == myDiv
dont hide div, so onclick is triggered (manully hide later anyway)
else //background is clicked
hide div yey
});
问题:这是一个体面的解决方法吗?或者,还有更好的方法?我想知道 jQuery UI 如何实现这一点,因为我看到 datepicker 也是一个 div。抱歉,我的 jQuery 水平仍然不允许我正确阅读他们的实现:/ 如果有人好心向我解释。谢谢你。