4

テキスト領域にフォーカスを設定したい。以下は私のコードです:

$this.textInput.val('').show().focus();

しかし、それは機能していません。実際にはマウスボタンを押すと表示されますが、マウスアップするとテキスト領域から削除されます。そのため、多くの検索を行った後、次のような setTimout メソッドを見つけました。

$this.textInput.mouseover(function(){                                
setTimeout($this.focus(),0);
});

しかし、それでもFirefoxでは機能しません。私は最新の 13.0 バージョンを持っていますが、それでも問題はありますが、Google Chrome は正常に動作しています。firefoxの問題は何ですか?それに対する解決策はありますか?

前もって感謝します。

4

4 に答える 4

5

を使用し.trigger('focus')ます。よりもうまく機能することがあり.focus()ます。

于 2012-06-08T10:04:20.857 に答える
2

これを試して :

$('#textareaid').click(function(){
                $(this).after('focused?');
                el = $(this);
                setTimeout(function(){
                    el.trigger('focus')
                },1);
            })

.click メソッドを使用します。私はあなたのために働きます。

于 2012-06-08T11:50:27.223 に答える
0

$thisは何の意味もありません。$(this)を使用するか、次のような変数を設定できます-

var $this=$(this)
于 2012-06-08T10:10:13.710 に答える
0

すべての要素がフォーカスできるわけではありませんが、デフォルトでは、それを修正するための tabindex 属性があります。

要素に割り当てる場合tabindex=<number>:

フォーカス可能になります。

ユーザーはタブ キーを使用して、正の値が小さい要素から次の要素に移動できます。例外は特別な値tabindex="0"であり、要素が常に最後になることを意味します。要素がフォーカス可能になることを意味しますtabindex=-1が、タブ キーは常にそれをスキップします。focus()メソッドのみが機能します

于 2013-06-25T10:17:17.650 に答える