2012-08-25 8 views
0

J'utilise bootstrap pour mon nouveau site. Je voudrais utiliser le plugin bouton. Au lieu d'ajouter le code jquery.trigger dans bootstrap-button.js, existe-t-il une meilleure pratique pour obtenir une alerte à afficher lorsque le bouton est cliqué?twitter bouton bootstrap cliquez sur

bootstrap-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 

    } 
+0

Pourriez-vous être plus précis quant à ce que vous essayez d'accomplir? Que feriez-vous exactement si le bouton déclenchait un événement? J'ai du mal à faire une recommandation sans connaître plus de détails. – merv

+0

merci de souligner que ma question était trop générale. je l'ai édité. – prostock

Répondre

1

En modifiant les plugins Bootstrap directement, il élimine non seulement la possibilité d'utiliser un CDN, mais il complique aussi la mise à niveau vers des versions ultérieures. Pour cette raison, il est généralement préférable d'implémenter un comportement supplémentaire sans ces modifications. La plupart des plugins Twitter Bootstrap fournissent une variété d'événements pour activer cette pratique. Dans les plugins qui ne déclenchent pas d'événements, l'ajout de tels événements est sans doute inutile.

Dans ce cas particulier, le plugin bouton ne modifie pas le clic événement (pas preventDefault() ou stopPropagation() appels sont faits), donc on serait bien juste attacher les auditeurs supplémentaires à l'événement cliquez sur lui-même.

Par exemple:

$('body').on('click.myListener', '[data-toggle=^button]', function (e) { 
    // do something 
    console.log(e.target); // originating button 
});