2

投稿への各応答にJavascript対応の評価を適用しようとしています。リンクをクリックすると、一部の要素が非表示になり、他の要素が表示され、Ajaxを介して評価が更新されます。各応答のHTML要素のIDに部分カウントを追加して、それぞれが個別のIDを持つようにしました。しかし、JQueryコードが関連する応答に関連付けられた要素を処理できるように、どの応答のどのリンクがクリックされたかをどのように識別できますか?リンクがクリックされたときにリンクのIDを送信する方法はありますか?

編集

トグル機能

(function($) {
           return $.fn.clickToggle = function(func1, func2) {
           var funcs;
           funcs = [func1, func2];
           this.data("toggleclicked", 0);
           this.click(function() {
            var data, tc;
            data = $(this).data();
            tc = data.toggleclicked;
            $.proxy(funcs[tc], this)();
            return data.toggleclicked = (tc + 1) % 2;
   });
   return this;
   };
   })(jQuery);

使用法

$('#link1').clickToggle(function() {
    $('#link2').hide();
    $('link3').hide();
    $('#link4').show();
    $('link5').show();
}, function() {
    $('#link2').show();
    $('link3').show();
    $('#link4').hide();
    $('link5').hide();     
}    
4

1 に答える 1

1

このフィドルをチェックしてください。

jQueryのon()メソッドを使用して、すべてのアンカータグでクリックイベントをリッスンしています。クリックハンドラーで、ターゲットを取得し、そのIDプロパティを取得しています。

<a href="#" id="A">Test 1</a><br>
<a href="#" id="B">Test 2</a>​

$(document).ready(function() {
    $(document).on('click', 'a', function(event) {
        event.preventDefault();
        alert($(event.target).prop('id'));
    });        
});​
于 2012-09-26T18:56:29.807 に答える