Domanda

Ho il seguente codice che utilizza un semplice jQuery UI di dialogo modale per "confermare" ogni click su un link. Se si fa clic su OK, poi li invia al link originale. Funziona bene, in modo da non disturbare la lettura in troppi dettagli =)

    $('.confirm').live('click', function(e) {
  e.preventDefault();
  var theHref = $(this).attr('href');
  var confirmText = 'Are you sure?';
  if ($(this).attr('confirm')) {
   confirmText = $(this).attr('confirm');
  }
  confirmDialog.html(confirmText);
  confirmDialog.dialog({
   buttons: {
    'OK': function() {
     window.location = theHref;
     $(this).dialog('close');
    },
    Cancel: function() {
     $(this).dialog('close');
     return false;
    }
   }
  });
  confirmDialog.dialog('open');
  return false;
 });

Poi, ho un sacco di altre funzionalità arbitrario. Come, dire questo:

    $('a.reset').live('click', function(e) {
  e.preventDefault();
  $(this).parents('form')[0].reset();
 });

Questo è solo un link che ripristina un modulo (come un input type = reset). Questa funzionalità funziona anche bene. Si prega di notare che questo è solo un esempio arbitrario. Ho un sacco di diversi frammenti di funzionalità JS che attribuisco tramite classi.

Il problema che sto incontrando è impilabile questi due. In questo esempio, alcuni link di reset che potrebbero voler conferme, alcuni non potrebbe. In questo modo:

<a href="" class="reset confirm">Reset on confirmation</a>
<a href="" class="reset">Reset without confirmation</a>

Il problema, naturalmente, è che il primo esempio non si preoccupa la conferma - si va solo avanti e reset. C'è qualche modo posso continuare a mantenere questi pezzi di codice separato e modulare (come nell'esempio HTML), mentre allo stesso tempo fare uno dipende l'uscita dell'altro?

Spero che sia chiaro quello che sto cercando di realizzare.

Grazie in anticipo per qualsiasi tipo di assistenza. Primo post tempo qui in modo da essere belle =)

È stato utile?

Soluzione

Non so se questo lavoro sarà, ma provare a creare i gestori .Live in ordine inverso. Penso che potrebbero ottenere innescato da ultimo collegato al primo allegato.

Altri suggerimenti

bene un'approccio molto semplice malato indovinate da quello che ho capito che si vuole raggiungere sarebbe quello di verificare se l'elemento ha la classe di conferma collegato ad esso prima di prevenire qualsiasi comportamento predefinito e che cosa non

Penso che si possa probabilmente risolvere la questione semplicemente collegando il codice alla classe di conferma prima della classe reset. Basta mettere più in alto nella vostra document.ready o dovunque si specificano gli eventi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top