2016-11-28 6 views
0

私は以下のようにajax応答コールバックを持っています。私は追加していますdivの後にdivにフォーカスする方法JQueryを使ってAjaxの成功応答を

$.ajax({ 
      type: "POST", 
      url: "search.php?ajaxrequest=yes", 
      data: query_string 
     }).done(function(data) { 
      $("#wtb_wm_listing").html(data); 
      $("#wtb_wrapper_middle_inner").focus(); 
    }); 

は私がメインのdivの中に置かれている「 wtb_wm_listing 」のdivにデータを返さ「wtb_wrapper_middle_inner

メインのdivに重点を私はしたいデータを追加した後、 「wtb_wrapper_middle_inner

しかし、私は、それは私がdiv要素の中に私のマウスをクリックしたときだけでなく、私のために働いておらず、集中し、divのページダウンキーをしようとされていないしようとすることでスクロールキーボードの矢印を押す。この場合

私は非表示()またはaddClassを作るしようとしている()は、その上のは、その私のために働いてDIV。

divをホバリングすると、マウスのスクロールが機能しています。

誰でもこの問題の解決に役立つことができます。

注:ページがロードされたとき、私はそのうまく機能し、その時点で、そのdiv要素を集中、しかし、私はそのdiv要素の中にいくつかのAJAXの応答データを追加する場合、その時間だけ働いていないその

+0

この方法は、Fすることができますocus入力要素。 – Alex

+0

'contenteditable = 'true''と ':input'はフォーカス可能です。 – Jai

答えて

0

コンテナ/ div要素をフォーカスすることはできません。いくつかのユースケースについては、https://api.jquery.com/focus/のドキュメントを読んでください。あなたがフォーカスしたいdivに特定の入力がある場合は、それを実行できます。しかし、あなたはdivに集中することはできません。任意の要素にtabindexを追加することはできますが。そしてそれは焦点をシミュレートすることができます。 jQuery docs say about the focus methodとして

+0

そのページを読み込んでもdivがフォーカスしています。しかし、そのdivにデータを追加した後は、そのデータは機能しません。 –

+0

divの読み込み時にdivがフォーカスされていることをどのように知っていますか?そしてそれが焦点を失ったときあなたはどのように知っていますか? –

0

:それはフォーカスを取得したときに

フォーカスイベントは、要素に送られます。このイベント は、フォーム 要素(、など)、リンク()など、限られた要素セットに暗黙のうちに適用されます。最近の ブラウザバージョンでは、要素のtabindexプロパティを明示的に設定することによって、すべての要素の の型を含むようにイベントを拡張できます。 要素は、Tabキーなどのキーボードコマンドまたは要素のマウスクリックによる によってフォーカスを得ることができます。

Anyways, you can focus a div by adding a tabindexキースクロールが機能するかどうかを確認してください。

は、以下を参照してください。http://snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex

のtabindex値はいくつかの興味深い行動を可能にすることができます。 「-1」値を与えた場合

  • 、要素は、タブで選択することができないが、焦点は (element.focus()を使用して)、プログラム要素に与えることができます。
  • 値が0の場合、要素はキーボードでフォーカスされ、 はドキュメントのタブフローに入ります。
  • 0より大きい値は、1が最も重要な優先度レベルを作成します。
1

#wtb_wrapper_middle_inner#wtb_wm_listingの内部にあると仮定すると、あなたは基本的に#wtb_wrapper_middle_innerが存在しない理由があり、dataに置き換える#wtb_wm_listing内部のすべてを削除しています。

あなたは使用して試すことができappend()

jQuery append() method

jQuery html() method

+0

そのdivはそこにしかありません。しかし、フォーカスだけが動作していないので、 '#wtb_wm_listing'も'#wtb_wrapper_middle_inner'にあります。私の質問を参照してください。メインディビジョンは '#wtb_wrapper_middle_inner'です –

0

これは、それがどのように動作するかである

window.location.hash = '#wtb_wrapper_middle_inner';
#wtb_wrapper_middle_inner{ 
 
margin-top:500px; 
 
height:50px; 
 
    width:50px; 
 
    background-color:red; 
 
}
<div id='wtb_wrapper_middle_inner'></div>

関連する問題