使用Jquery时,只要在设置“focusout”时单击焦点区域外的任何位置,就会调用focusout。
如何从激活“focusout”功能中排除某些ID。 ?
例如这里。
你有一个输入文本字段(id =“A”)隐藏焦点上的某个div并且当它没有焦点时显示非常div,所以现在它显然会在你点击任何地方时显示div( “#A”)输入字段。
问题是,你如何设置一些id(可能是一个选择字段(Id =“B”旁边),而不是触发“focusout”功能。希望它有意义。
答案 0 :(得分:1)
尝试使用relatedTarget
事件属性:
$('#id').focusout (function (e) {
if (e.relatedTarget && e.relatedTarget.id === 'dontFocusOut') {
return;
}
//do your thing
});
答案 1 :(得分:0)
单击div时,unbind
可以focusout
。这可能会返回一些预期的结果,并且在您的代码中的某些时候,您可能希望重新绑定它。请参阅此处以获取示例: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;
}