2016-12-01 18 views
1

フォーム構造内のいくつかのタブをターゲットにできるDRY JQuery呼び出しを作成しようとしています。単一のキーアップ関数呼び出しで複数のタブをターゲットにする

はJQuery:

$(".subTabAction").keyup(function (event) { 
    if (event.keyCode == 13) { 
     $("#uniqueIdHere").click(); 
    } 
}); 

HTML:

`<span> 
<span class="sr-only" id="anchor" tabindex="0">Main Content</span> 
         <span id="UniqueId1" tabindex="0" class="subTabAction">Details</span> 
         <span id="UniqueId2" tabindex="0" class="subTabAction">Duration</span>  
         <span id="UniqueId3" tabindex="0" class="subTabAction"></span> 
         @if (Model.blah.Count > 1) 
         { 
          <span id="blah" tabindex="0" class="subTabAction"></span> 
         } 
         @*<span class="sr-only" id="anchor" tabindex="0">Main Content</span>*@ 
        </span>` 

は、各タブが固有のIDを持っている、とAjax呼び出しをトリガー、問題は、私は一つだけこの方法をターゲットにすることができます。キーボードのみでアクセスできるように、それぞれを個別にターゲティングしたいと考えています。

+0

タブは同じクラスですか?そうであれば、idの代わりにクラスを対象にしてください – ochi

+0

@ochiこんにちは、私はその方法を試みました。問題は、個々のものとして呼び出される代わりに、すべてのタブを一度に呼び出したことです。 – Joshua

+0

あなたのHTMLは? – ochi

答えて

3

$(".subTabAction")は、このクラス名でさらに多くの要素があるため、複数のタブのコレクションです。 $(this)はあなたが目標とするタブを提供します。

$(".subTabAction").keyup(function (event) { 
    if (event.keyCode == 13) { 
     $(this).click(); 
    } 
}); 
関連する問題