sexto secundaria respuestas prueba primaria linea examen enlace correctas javascript jquery

javascript - secundaria - ¿Desenlazar el enlace en línea?



prueba enlace 2018 (2)

El desvinculación de jQuery no funciona en los atributos de un onclick : solo funciona para las funciones que se agregaron mediante el bind y, por lo tanto, están disponibles en $(...).data(''events'') . Tienes que usar removeAttr para eliminar onclick .

Lea esta pregunta para más información.

Bien, me pregunto cómo desenlazar un evento onclick en línea en jQuery. Uno pensaría que .unbind() funcionaría, pero no es así.

Para probar esto por ti mismo, juega con el siguiente HTML y JavaScript:

function UnbindTest() { $("#unbindTest").unbind(''click''); } function BindTest() { $("#unbindTest").bind(''click'', function() { alert("bound!"); }); } <button type="button" onclick="javascript:UnbindTest();">Unbind Test</button> <button type="button" onclick="javascript:BindTest();">Bind Test</button> <button type="button" onclick="javascript:alert(''unbind me!'');" id="unbindTest">Unbind Button</button>

Como puede ver, el desvinculación no desvincula el evento onclick línea ... sin embargo, desvincula el evento click que se agrega con bind() .

Por lo tanto, me pregunto si hay una manera de desenlazar los eventos de onclick en línea antes de hacer lo siguiente:

$("#unbindTest").get(0).onclick = "";

Gracias


unbind controladores de eventos registrados con bind , no los asignados a través de onclick u otros atributos DOM0. De la documentación:

Cualquier controlador que se haya adjuntado con .bind() se puede eliminar con .unbind() .

Editar : Desvincula los controladores DOM0 borrando el atributo relevante en el elemento. Tuve que buscar la forma jQuery de hacerlo: removeAttr .