2012-03-10 17 views
4

ondomreadyの後に開くと、クロム拡張のポップアップのテキストエリアにfocus()を呼び出すことができないようです。 )クロム拡張ポップアップテキストエリアフォーカス

<html> 
    <head> 

    <link rel="stylesheet" href="css/content.css" type="text/css"> 

    <script type="text/javascript" src="js/lib/jquery.js"></script> 
    <script type="text/javascript" src="js/popup.js"></script> 
    </head> 
<body> 
     <div class="container"> 
      <textarea name="newText"></textarea> 
     </div>  
</body> 

CSSチェンジ作品、フォーカスを(しません:私はそのようpopup.htmlでそれを参照

$(document).ready(function() { 
    console.log($("#moped-text")); 
    $('textarea').focus(); 
    $('.container').css("color", "red"); 
}); 

私はpopup.jsでそのような何かを持っています!

私はポップアップをデバッグし、$( 'textarea')とタイプします。コンソールでは、それは動作します。 レディコールバック内に追加されたイベントも正常にバインドされています。

ご協力いただきありがとうございます。

+0

がこのありえないが私のために働いてもない:Google Chrome拡張機能では、[オートフォーカス](のhttp:// stackoverflowの.com/questions/6594064/auto-focus-in-google-chrome-extension) – hc2p

答えて

3

フォーカスが最初の場所に設定されていない理由を私はまだ、分からないが、簡単なタイムアウトが仕事をしていません:)

setTimeout(function() { 
    $('#moped-text').focus(); 
}, 500); 
+3

これはいつも私のために働いていましたが、Chrome 18(これは安定したチャンネルにしました)では動作しません。 〜1000 ms何も起こらない同じことが起こるのでしょうか?もしそうなら、現在の状況に対する解決策や回避策を知っているかもしれませんか? – pimvdb

+1

Chromeと同じ20 – Soviut

0

あなたはクラス "container"でidを持っていません。だから、代わりにこれを使用する:

$('.container').css("color", "red"); 
+0

おかげさまでhamczu!私はそれに応じて私の質問を変更した。 CSSは問題ではなく、フォーカス()です。 – hc2p

-1

あなたは、単に<textarea name="newText" autofocus></textarea>を使用することができます。

+1

これも機能しません。クロム拡張でブロックされているようです。:(後でフォーカスを取得している他のもの – hc2p

3

クローム18の回避策(hereを発見した)

if(location.search !== "?foo") 
{ 
    location.search = "?foo"; 
    throw new Error; // load everything on the next page; 
        // stop execution on this page 
} 

私のために働く!

+0

私はこれをポップアップの一番上に置きます。ありがとう! –

+0

本当に本当に混乱している...しかし、それは動作します – fehrlich

0

私はこれを使ってフォーカスします。

私の要素は属性として「オートフォーカス」を持っています。フォームがロードされると、属性「autofocus」を持つ要素がフォーカスを取得します。

.directive( 'オートフォーカス'、[ '$タイムアウト'、関数($タイムアウト){ リターン{ が制限: 'A'、 リンク:機能($の範囲、$素子){ $タイムアウト(関数(){ $要素[0] .focus(); }); } } }])