Pregunta

Tengo el siguiente código que se utiliza simplemente una interfaz de usuario jQuery modal de diálogo para "confirmar" cualquier clic en un enlace. Si hacen clic en OK, entonces los envía a la fuente original. Trabaja muy bien, por lo que no se moleste en leerlo en demasiados detalles =)

    $('.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;
 });

A continuación, tengo un montón de otras funciones arbitrarias. Como, por ejemplo esto:

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

Eso es sólo un enlace que se restablece una forma (como un input type = reinicio). Esta funcionalidad también funciona bien. Tenga en cuenta que esto es sólo un ejemplo arbitrario. Tengo un montón de diferentes fragmentos de funcionalidad JS que atribuyo a través de clases.

El problema que estoy encontrando es apilado estos dos. En este ejemplo, algunos enlaces de restablecimiento que podrían querer confirmaciones, algunos en los que no. De esta manera:

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

El problema, por supuesto, es que el primer ejemplo no se preocupa por la confirmación - que sólo va por delante y se restablece. ¿Hay alguna manera de que pueda seguir manteniendo estas piezas de código independiente y modular (como en el ejemplo de HTML), mientras que al mismo tiempo haciendo un dependiente en la salida del otro?

Espero que sea claro lo que estoy tratando de lograr.

Gracias de antemano por cualquier ayuda. Primer destino en el tiempo aquí, así sea agradable =)

¿Fue útil?

Solución

No sé si este trabajo voluntad, pero trata de la creación de los manipuladores .live en orden inverso. Creo que alguien los pudiera disparado desde el último unido al primer adjunto.

Otros consejos

así un enfoque muy simple mala adivinar por lo que he entendido que quiere lograr sería comprobar si el elemento tiene la clase de confirmación que se le atribuye antes de evitar cualquier comportamiento por defecto y lo que no

creo que probablemente pueda resolver esto con sólo conectar el código para confirmar la clase antes de la clase de reinicio. Sólo hay que poner más arriba en su document.ready o donde se especifica los eventos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top