2010-05-27 15 views
70

Donde puedo encontrar una lista completa de todos los eventos compatibles con jQuery (como click, mouseup, etc.) con algunas explicaciones cuando se activan? Busco a aquellos que pueden ser binded:Buscando una lista completa de tipos de eventos jQuery

$('#foo').bind('click', handler); 

Por ejemplo acabo de descubrir por casualidad paste que no hay caso, pero no puedo encontrar ninguna referencia a cualquier lugar en sus documentos. ¿Qué más hay ahí?

Respuesta

45

Una lista no exhaustiva está en http://api.jquery.com/category/events/. Hay más eventos DOM admitidos a través de .bind() y .live(). Esas funciones pueden asignar un controlador a cualquier evento DOM estándar, la mayoría de las cuales se enumeran junto con tablas de compatibilidad en http://www.quirksmode.org/dom/events/

El .bind() método es el principal medio de fijación de comportamiento para un documento. Todos los tipos de eventos de JavaScript, como el enfoque, el mouseover y el cambio de tamaño, están permitidos para eventType.


A partir de jQuery 1.7, se debe utilizar en lugar de .on().live() y .bind().

+0

Todos los eventos de enlace es lo que estoy buscando (no funciones de acceso directo). Tal vez debería volver a formular mi pregunta. – serg

+0

@ serg555: Agregué un enlace quirksmode.org, la mayoría (si no, todos) los eventos se enumeran allí junto con tablas de compatibilidad para cada navegador. Tenga en cuenta que Opera no admite el evento 'paste'. –

+0

Gracias, excelente enlace. – serg

0

Esta página muestra todos los sucesos que funcionan en todos los navegadores a mi entender. Aquí no encontrará el evento "pegar" porque, como otros lo señalaron, no funciona en todos los navegadores.

http://www.authenticsociety.com/jquery/list-all-jquery-events.html

+0

Esto está mal: '.mouseup()': El puntero del mouse está sobre un elemento en cualquier momento mientras el botón del mouse está activo – Zach

+1

El enlace está muerto. – Julian

-1

Sé que esta pregunta es bastante antigua. Pero por el bien de dar una respuesta actualizada y completa a esta pregunta.

Los métodos de acceso directo son siempre nombrados el mismo como los nombres de eventos utilizados en cualquiera de los métodos on()/bind()/live().

Así que si desea utilizar alguna de las funciones de eventos de acceso directo pero con el()/bind()/live() que sólo puede tomar el nombre método, ommit los soportes y ponerlo entre comillas, así: " nombre de evento "/ 'nombre de evento'. Deberían comportarse igual.

Así, por ejemplo: .dblclick() -> 'dblclick' =>

$('a').on('dblclick', function() { 
    console.log("I got double clicked"); 
} 

http://api.jquery.com/category/events/ es una lista completa de métodos de evento.(Sí sé que no soy el único que apunta a este sitio, pero junto con mi explicación que en realidad es una lista completa de eventos para 'en'/'en vivo'/'bind')

Si usted tiene la oportunidad para usar en() debe hacerlo, ya que en() hace lo mismo y todas las llamadas para 'enlazar' y 'en vivo' realmente llaman a la función 'on'. Aquí hay más información sobre esto: What's the difference between `on` and `live` or `bind`?

También algunas personas preguntaron acerca de los eventos táctiles (móviles). En general, recomiendo acostumbrarse al método de evento on() porque de acuerdo con jQuery mobile documentation esta es la única forma de registrar eventos táctiles en elementos html, que está a la par con los futuros planes api de jQuery para eliminar bind()/live() y todos los métodos de evento de acceso directo.

Cuestiones relacionadas