焦点事件被另一个焦点事件忽略
focus event is ignored by another focus event
在下面的代码中,如果文本框处于焦点中,则会出现redDiv。
如果 redDiv 或其子项处于焦点中,则它必须保持可见,并且仅在失去焦点时才隐藏。你能帮忙吗?
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var onetxt = $('<input type="text" />');
var Input1 = $('<input type="text" />');
var redDiv = $('<div>', { tabindex: "5", style: "width:200px;height:200px;background:red; display:none;", text: 'test', html:"<br /><br />" }).append(Input1);
onetxt.focusin(function () {
redDiv.show();
});
Input1.focusin(function () {
redDiv.show();
});
redDiv.focusin(function () {
redDiv.show();
});
onetxt.blur(function () {
redDiv.hide();
});
$('#myarea').after(onetxt,redDiv);
});
</script>
</head>
<body>
<div id="myarea"></div>
</body>
</html>
如果
满足条件,则需要每次检查是否应隐藏div。
例如(我还设置了 10 毫秒的超时,以允许焦点在元素隐藏之前切换(:
$(document).ready(function () {
var hider = null;
var onetxt = $('<input type="text" />');
var Input1 = $('<input type="text" />');
var redDiv = $('<div>', {
tabindex: "5",
style: "width:200px;height:200px;background:red; display:none;",
text: 'test',
html: "<br /><br />"
}).append(Input1);
function hideRed () {
if (!onetxt.is(':focus') && !Input1.is(':focus') && !redDiv.is(':focus')) {
hider = setTimeout(function () {redDiv.hide();}, 10);
}
}
function showRed () {
if (hider !== null) {
clearTimeout(hider);
hider = null;
}
redDiv.show();
}
onetxt.focusin(showRed);
Input1.focusin(showRed);
redDiv.focusin(showRed);
redDiv.blur(hideRed);
Input1.blur(hideRed);
onetxt.blur(hideRed);
$('#myarea').after(onetxt, redDiv);
});
杰斯菲德尔
相关文章:
- 焦点事件不适用于动态生成的文本框
- 程序性焦点事件不会引发焦点事件处理程序
- 引导选择选择器焦点事件
- jQuery Opera焦点事件不起作用
- 获取选择框展开/用户焦点事件
- iframe 中输入上的模糊/焦点事件(委派)
- IE 焦点事件在 ajax 加载后随机失败
- 如何处理单击和焦点事件以切换 .
- 仅将焦点事件绑定到子元素
- 如何使焦点事件发生在动态插入的输入上
- “未捕获的引用错误:(函数)未定义”与焦点事件
- jQuery 焦点事件似乎在 qUnit 测试中不起作用
- 无法将表单输入字段上的 JQuery UI 工具提示限制为仅在单击/焦点事件上显示
- 更改浏览器选项卡会不期望触发焦点事件,尤其是在谷歌浏览器中
- 焦点事件 jquery 组合框/自动完成
- 焦点事件被另一个焦点事件忽略
- 使焦点事件忽略某些元素
- 在处理焦点事件时触发单击
- ios CordovaJavaScript焦点事件永远不会到来
- 在 Internet Explorer 中多次触发焦点事件