141

.click如果 textarea 已经聚焦,如何检测何时触发事件?

我有这个jQuery:

$(".status").on("click","textarea",function(){
        if ($(this) == "focused") {
            // fire this step
        }else{
            $(this).focus();
            // fire this step
    }
4

4 回答 4

355

使用纯 JavaScript:

this === document.activeElement // where 'this' is a dom object

或使用 jquery 的:focus伪选择器。

$(this).is(':focus');
于 2013-07-12T12:25:11.973 回答
1

如果您可以使用 JQuery,那么使用JQuery :focus 选择器就可以了

$(this).is(':focus');
于 2013-07-12T12:26:17.500 回答
0

使用 jQuery 的.is( ":focus" )

$(".status").on("click","textarea",function(){
        if ($(this).is( ":focus" )) {
            // fire this step
        }else{
                    $(this).focus();
            // fire this step
    }
于 2013-07-12T12:25:27.270 回答
0

你试过了吗:

$(this).is(':focus');

看看Using jQuery to test if an input has focus它提供了更多示例

于 2013-07-12T12:26:23.577 回答