2011-06-20 152 views
11

jQuery是否阻止这种类型的行为?焦点上,焦点

$("input").focusout(function() { 
    $(this).focus(); 
}); 
+6

浏览器阻止行为这样。这不是jQuery的错。这是一项安全功能。 – William

+0

+1为好问题 –

+0

@石灰:一个非常可疑的安全特征,如果ŠimeVidas的回答站立。 – Jon

回答

12

这是它是如何做(工作跨浏览器):

$('input').blur(function() { 
    var that = this; 
    setTimeout(function() { $(that).focus(); }, 0); 
}); 

现场演示:http://jsfiddle.net/jzt2Z/1/

+0

男人,你是如此邪恶:)) ))+1 –

+0

不错。好工作的人 – genesis

+0

@Dmitriy随着巨大的力量来承担巨大的责任':)' –

1

1)其实它可以在Chrome中使用。这里有一个例子:http://jsfiddle.net/8WP53/

一旦第一个输入得到focuseout - 它仍然专注,用户不能集中任意其他输入

2)在IE中我得到一个错误“堆栈溢出”(品牌的StackOverflow .COM错误:)

3)奇怪,但在Firefox中,你可以选择任何输入,但正在生产没有错误