0

新しいサイトにブートストラップを使用しています。ボタンプラグインを使用したいと思います。jquery.trigger コードを bootstrap-button.js に追加する代わりに、ボタンがクリックされたときにアラートを表示するための現在のベスト プラクティスはありますか?

ブートストラップ-button.js:

  Button.prototype.toggle = function () {
    var $parent = this.$element.parent('[data-toggle="buttons-radio"]')

    $parent && $parent
      .find('.active')
      .removeClass('active')


    this.$element.toggleClass('active')

      this.$element.trigger('button-change') //added code

  }
4

1 に答える 1

1

Bootstrap プラグインを直接編集すると、CDN を使用できなくなるだけでなく、将来のリリースへのアップグレードが複雑になります。そのため、通常は、そのような変更を加えずに追加の動作を実装することをお勧めします。Twitter Bootstrap プラグインの多くは、このプラクティスを可能にするさまざまなイベントを提供します。イベントをトリガーしないプラグインでは、そのようなイベントの追加はおそらく不要です。

この特定のケースでは、Button プラグインはクリックイベントを変更しない (呼び出しが行われないpreventDefault()か、変更されない) ため、追加のリスナーをクリックイベント自体stopPropagation()にアタッチするだけで問題ありません。

例えば:

$('body').on('click.myListener', '[data-toggle=^button]', function (e) {
  // do something
  console.log(e.target); // originating button
});
于 2012-08-27T20:04:27.967 に答える