【发布时间】:2015-01-29 11:31:44
【问题描述】:
为什么当我点击其中的元素时,DIV 会失去焦点? 我有一个 JS 在失去焦点时隐藏 DIV。但是,当单击 DIV 内的元素时,不应该发生这种情况。 它需要使用 .on 来完成,因为正在进行一些 ajax 加载。
$(document).on('focusout', '#geomodal', function(e) {
console.log('.focusout');
});
<div id="geomodal" tabindex="-1">
<input value="109" name="districts[]" type="checkbox">
<label>Bla</label>
<br>
<input value="152673" name="districts[]" type="checkbox">
<label>Blabla</label>
<br>
</div>
http://jsfiddle.net/2g41su81/2/
jQuery 文档:
focusout 事件被发送到一个元素时,它或任何元素 在里面,失去焦点。
【问题讨论】:
-
这种行为是正确的,
#geomodal正在失去焦点,因为焦点被赋予了子元素。你想实现什么行为? -
是的,但是当点击其中的元素时,div 如何保持焦点?
-
表单元素在点击它们时会窃取焦点。没有 tabindex 的普通子元素不会。
-
@Mike 你不能 - 点击另一个元素的行为会改变焦点。
-
我更新了问题。
标签: javascript jquery