jquery quitar evento onclick

Tengo un par de botones, pero dependiendo de qué botón de opción está seleccionado quiero 1 de 2 cosas sucedan. e.g

cuando los edificios botón de opción está seleccionado, y se pulsa el botón, a continuación, se muestra todo el edificio, pero no muestran los parques.
en forma similar, cuando los parques botón de opción está seleccionado y hacer clic en el botón muestra todos los parques, pero no muestran los edificios.

quiero quitar el evento onclick para el adecuado característica que no es necesario, yo podría hacer esto con.

$('#youLinkID').attr('onclick','').unbind('click');

sin embargo esto eliminará TANTO eventos onclick.

Hay una manera de quitar sólo 1 evento onclick, tal vez por su nombre, o una manera para volver a agregar un evento onclick por su nombre?

EDITAR:
así que he usado la ayuda de la Marca de abajo y utilizar espacios de nombres, y me encontré con esto:

$('#showOver').bind('click.buildOver', function(){ 
        $(this).unbind('click.parkOver')
    });

No funciona sin embargo, sé que su vocación y trabajo mientras se ejecuta la prueba,

.css({"backgroundColor":"black","color":"white"})

Es justo no parece agregar el evento onclick de buildOver() función

  • do u have 2 click eventos en el mismo control ?
  • ¿por qué no usar ID diferente para ambos, los botones de radio y trate de remover el evento específico botón de radio (basado en el ID) cuando no es necesario y añadir cuando sea necesario .
  • El uso de espacios de nombres parece la mejor opción aquí
InformationsquelleAutor jerrythebum | 2013-04-15

2 Kommentare

  1. 2

    Puede utilizar espacios de nombres para unbind un partiuclar haga clic en controlador.

    $("a").bind("click.pick1", function () {
        alert('pick 1');
        $(this).unbind("click.pick1");
    }).bind("click.pick2", function () {
        alert('pick 2');
    });

    Ejemplo en jsfiddle

    • por favor, ver OP editar
    • el uso de eventos de encendido y apagado en lugar de en desuso enlazar y desenlazar eventos.obsoleto.
  2. 0

    Comprobarlo: DEMO

    <a href="#" onclick="alert('hello');">I produce an alert via onclick</a>
    <a href="#" onclick="alert('hello');">Me too</a>
    
    <a href="#" onclick="$('a').removeAttr('onclick');">I remove them</a>

    El truco es este código:

    $('a').removeAttr('onclick');

    REFERENCIA

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea