metodo event change javascript jquery event-handling webkit

javascript - event - metodo on jquery



¿Cómo maneja oncut, oncopy y onpass en jQuery? (4)

La documentación de jQuery dice que la biblioteca tiene soporte integrado para los siguientes eventos: desenfoque, enfoque, cargar, cambiar de tamaño, desplazarse, descargar, hacer clic, cliquear, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, cambiar, seleccionar, submit, keydown, keypress, keyup, y error.

Necesito manejar cortar, copiar y pegar eventos. ¿Cuál es la mejor manera de hacerlo? FWIW, solo tengo que preocuparme por WebKit (¡por suerte!).

ACTUALIZACIÓN: estoy trabajando en un "widget" en un entorno parecido a un Tablero. Utiliza WebKit, por lo que realmente solo importa (para mis propósitos) si estos eventos son compatibles allí, lo que parece que son.


Como jQuery 1.7, puede usar los métodos bind (...) y unbind (...) para adjuntar y eliminar manejadores respectivamente.

Aquí hay algunos ejemplos que alinean su questuion:

$(''#someElementId'').bind(''paste'', function(){return false;});

- este bloqueará cualquier intento de pegar desde el portapapeles en el cuerpo del elemento. También puede usar cortar , copiar y otros como tipos de eventos (ver enlaces a continuación)

$(''#someElementId'').bind(''copy'', function(){return alert(''Hey fella! Do not forget about copyrights!'');});

Entonces, en otros casos, cuando quiera eliminar esos manejadores, puede usar el método unbind () :

$(''#someElementId'').unbind(''copy'');

Aquí algunos enlaces útiles:


Mozilla admite un evento de "entrada" al cual me cuesta encontrar documentación útil. Por lo menos, sé que dispara en pegar.

this.addEventListener(''input'', function(){//stuff here}, false );


Puede agregar y eliminar eventos de cualquier tipo utilizando los .on() y off()

Prueba esto, por ejemplo

jQuery(document).on(''paste'', function(e){ alert(''pasting!'') });

jQuery en realidad es bastante indiferente a si el tipo de evento que asigna es compatible con el navegador, por lo que puede asignar tipos de eventos arbitrarios a los elementos (y objetos generales) como:

jQuery(''p'').on(''foobar2000'', function(e){ alert(e.type); });

En el caso de tipos de eventos personalizados, debe .trigger() ellos "manualmente" en su código, así:

jQuery(''p'').trigger(''foobar2000'');

Neat eh?

Además, para trabajar con eventos DOM patentados / personalizados en una forma compatible con navegadores cruzados, puede necesitar usar / escribir un "plugin de evento jQuery" ... ejemplo de lo cual se puede ver en jquery.event.wheel.js Complemento de mouse de Brandon Aaron


Varios eventos del portapapeles están disponibles en Javascript, aunque el soporte es irregular. QuicksMode.org tiene una cuadrícula de compatibilidad y una página de prueba . Los eventos no están expuestos a través de jQuery, por lo que tendrá que ampliar la biblioteca o utilizar eventos Javascript nativos.