0

その上にボタンとアイコンがあります。ボタンをクリックするとクラスは正常に切り替わりますが、ボタン内のアイコンをクリックしてもクラスは切り替わりません。これが私のhtmlです:

<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne-{{id}}">
    <button id="btnCollapse" class="btn" style="width: 25px;" type="button">
        <i id="accordionIcon-{{id}}" class="right"></i>
    </button>
</a>

そしてjavascript:

events: {
  'click #btnCollapse': 'handleClass',
  'click .right': 'handleClass'
},

handleClass: function(event) {
  $(event.target).find('i').toggleClass('right down');
}
4

2 に答える 2

1

次のようなハンドラーを使用します。

handleClass: function(event) {
  var $target;
  if (event.target.tagName.toUpperCase() == 'I') {
    $target = $(event.target);
  } else {
    $target = $(event.target).find('i');
  }

  $target.toggleClass('right down');
}
于 2012-11-08T23:11:45.233 に答える
0

event.currentTargetの代わりに試してみることをお勧めしevent.targetます。

「このプロパティは通常、関数の this と等しくなります。」
http://api.jquery.com/event.currentTarget/

于 2012-11-10T00:25:47.667 に答える