使用 Jquery,当您在设置“focusout”时单击焦点区域外的任意位置时,才会调用 focusout。
如何从激活“focusout”功能中排除某些 id。?
例如这里。
您有一个输入文本字段( id="A"),它在焦点上隐藏了一些 div 并在它失去焦点时显示该 div,所以但现在它显然会在您单击此之外的任何位置时显示该 div ("#A ") 输入字段。
问题是,你如何设置一些 id(可能是一个选择字段(Id="B" 旁边),而不是触发“focusout”功能。希望它有意义。
使用 Jquery,当您在设置“focusout”时单击焦点区域外的任意位置时,才会调用 focusout。
如何从激活“focusout”功能中排除某些 id。?
例如这里。
您有一个输入文本字段( id="A"),它在焦点上隐藏了一些 div 并在它失去焦点时显示该 div,所以但现在它显然会在您单击此之外的任何位置时显示该 div ("#A ") 输入字段。
问题是,你如何设置一些 id(可能是一个选择字段(Id="B" 旁边),而不是触发“focusout”功能。希望它有意义。
尝试使用relatedTarget
事件属性:
$('#id').focusout (function (e) {
if (e.relatedTarget && e.relatedTarget.id === 'dontFocusOut') {
return;
}
//do your thing
});
您可以unbind
在focusout
单击 div 时。这可能会返回一些预期的结果,并且在您的代码中的某个时刻,您可能想要重新绑定它。见这里的例子:http: //jsfiddle.net/hdCFA/
$("input").on("focus", function() {
$(".hidden").show();
});
$("input").on("focusout",function() {
$(".hidden").hide();
});
$(".clickable").on("mousedown", function() {
$("input").unbind("focusout");
});
HTML:
<input />
<div class="hidden">Hidden div</div>
<div class="clickable">Click me</div>
CSS:
.clickable { background:blue; }
.hidden {
display:none;
}