2012-03-23 6 views
2

Googleマップのインフォボックス内でイベントの伝播に重大な問題が発生しています。例についてはthisです。textareaフォーカス/イベントの伝播に関する問題(インフォボックス内)

これで新しい関連問題が発生しました。 infoBoxオプションenableEventPropagationをtrueに設定すると(infoBox内の要素で動作するように.delegate()コマンドを有効にする必要があると思います)、infoBox内にあるテキストフィールドにフォーカスを得ることができません。 enableEventPropagationをfalseに設定するだけで、必要なデリゲートが無効になります。テキストエリアに焦点を当てずに代理人を有効にする方法はありますか?

は、あなたがあなたのテキストエリアにonclickのイベントを追加し、それにフォーカスを設定することができます例

答えて

0

たので

function data() { 
var HTML = "<div id='ib' class='infobox_test'>" + 
       "<textarea maxlength='249' onClick=\"this.focus()\"></textarea>" + 
      "</div>"; 
return HTML; 

}

フィドルの例のように、私はしばらくの間、テストと同じ問題に気づいてきました。 eventPropagation = trueの場合、textarea要素のフォーカスと編集機能が無効になりました。

地図のスクロールとドラッグを無効/有効にするには、focusin/focusoutを使用してください。 あなたはそうではないかもしれませんが、ユーザーがテキストエリアに入力している場合は、問題なくそれらのイベントを発生させることができます。