quitar evento eliminar disable deshabilitar atributo agregar jquery javascript-events attributes event-handling jquery-events

disable - jquery eliminar evento



¿Cómo eliminar "onclick" con JQuery? (8)

código php:

<a id="a$id" onclick="check($id,1)" href="javascript:void(0)" class="black">Qualify</a>

Cómo eliminar onclick="check($id,1) por lo que no se puede hacer clic en" Calificar "o" check($id,1) no se activará. ¿Cómo hacerlo con JQuery?


Eliminar propiedad onclick

Supongamos que ha agregado su evento de clic en línea, como este:

<button id="myButton" onclick="alert(''test'')">Married</button>

Luego, puedes eliminar el evento de esta manera:

$("#myButton").prop(''onclick'', null); // Removes ''onclick'' property if found

Eliminar escuchas de eventos click

Supongamos que ha agregado su evento de clic definiendo un detector de eventos, como este:

$("button").on("click", function() { alert("clicked!"); });

... o así:

$("button").click(function() { alert("clicked!"); });

Luego, puedes eliminar el evento de esta manera:

$("#myButton").off(''click''); // Removes other events if found

Eliminando ambos

Si no está seguro de cómo se ha agregado su evento, puede combinar ambos, así:

$("#myButton").prop(''onclick'', null) // Removes ''onclick'' property if found .off(''click''); // Removes other events if found


¿Qué sucede si el evento onclick no está directamente en el elemento, sino en el elemento padre? Esto debería funcionar:

$(".noclick").attr(''onclick'','''').unbind(''click''); $(".noclick").click(function(e){ e.preventDefault(); e.stopPropagation(); return false; });


Después de intentar tan duro con bind, unbind, on, off, click, attr, removeAttr, prop lo hice funcionar. Por lo tanto, tengo la siguiente situación: en mi html NO he adjuntado ningún controlador onclick en línea.

Luego, en mi Javascript, utilicé lo siguiente para agregar un controlador onclick en línea:

$(element).attr(''onclick'',''myFunction()'');

Para eliminar esto en un punto posterior de Javascript, utilicé lo siguiente:

$(element).prop(''onclick'',null);

Esta es la forma en que funcionó para mí vincular y desvincular los eventos de clic dinámicamente en Javascript. Recuerde NO insertar ningún controlador onclick en línea en sus elementos.


Es muy fácil de usar removeAttr.

$(element).removeAttr("onclick");


Intenta esto si desvinculas el evento onclick por ID. Luego utiliza:

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

Intenta esto si desvinculas el evento onclick por clase. Luego usa:

$(''.className'').attr(''onclick'','''').unbind(''click'');


Sé que esto es bastante antiguo, pero cuando un extraño perdido encuentra esta pregunta buscando una respuesta (como yo), esta es la mejor manera de hacerlo, en lugar de usar removeAttr ():

$element.prop("onclick", null);

Citando jQuerys doku oficial :

"La eliminación de un controlador de eventos onclick en línea con .removeAttr () no logra el efecto deseado en Internet Explorer 6, 7 u 8. Para evitar posibles problemas, use .prop () en su lugar"


si está usando jquery 1.7

$(''html'').off(''click'');

más

$(''html'').unbind(''click'');


Old Way (pre-1.7):

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

New Way (1.7+):

$(''...'').prop(''onclick'',null).off(''click'');

(Reemplace ... con el selector que necesita)

// use the "[attr=value]" syntax to avoid syntax errors with special characters (like "$") $(''[id="a$id"]'').prop(''onclick'',null).off(''click'');

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <a id="a$id" onclick="alert(''get rid of this'')" href="javascript:void(0)" class="black">Qualify</a>