我看到一个示例使用.is(":focus")
来检查另一个对象是否处于焦点,但它没有按预期工作。我正在使用FireFox,并希望它适用于支持jQuery的所有浏览器。
HTML:
<input class=a value=a>
<input class=b value=b>
^ focus on the input a
How to make input.b stay visible when focus moves off .a and to .b?
JS:
$(".a").focus(function(){
$(".b").show();
});
$(".a,.b").blur(function(){
var f = false;
if($(".a").is(":focus")) var f = true;
if($(".b").is(":focus")) var f = true;
if(!f) $(".b").hide();
});
当我将焦点移动到它时,Input.b总是隐藏,但它不应该。
这是一个小提琴,http://jsfiddle.net/7gXfC/1/
我不知道怎么做呢
答案 0 :(得分:1)
这是一个解决方法,但你可以试试这个:
$(".a").focus(function(){
$(".b").show();
});
/*
Added a timeout so b.focus event occurs before a.blur
*/
$(".a").blur(function(){
setTimeout(function() {
if(!$(".b").is(":focus")) $(".b").hide();
}, 50);
});
$(".b").focus(function(){
$(".b").show();
});
$(".b").blur(function(){
$(".b").hide();
});