2010-05-27 14 views
70

Dove posso trovare un elenco completo di tutti gli eventi supportati da jQuery (come click, mouseup ecc.) Con alcune spiegazioni quando vengono attivati? Sto cercando quelli che possono essere binded:Ricerca di un elenco completo di tipi di evento jQuery

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

Per esempio ho appena scoperto per caso che ci sia paste evento, ma non riesco a trovare alcun riferimento a ovunque nei loro documenti. Cosa altro c'è?

risposta

45

Un elenco non esaustivo è http://api.jquery.com/category/events/. Ci sono più eventi DOM supportati tramite .bind() e .live(). Queste funzioni possono assegnare al gestore ogni caso standard DOM, la maggior parte dei quali sono elencati insieme con tabelle di compatibilità al http://www.quirksmode.org/dom/events/

Il .bind() metodo è il mezzo principale di fissaggio comportamento a un documento. Tutti i tipi di eventi JavaScript, come messa a fuoco, passaggio del mouse e ridimensionamento, sono consentiti per eventType.


Come di jQuery 1.7, è necessario utilizzare .on() al posto di .live() e .bind().

+0

Tutti gli eventi di bind sono ciò che sto cercando (non le funzioni di collegamento). Forse dovrei riformulare la mia domanda. – serg

+0

@ serg555: ho aggiunto un collegamento quirksmode.org, la maggior parte (se non tutti) gli eventi sono elencati insieme alle tabelle di compatibilità per ciascun browser. Nota che Opera non supporta l'evento 'paste'. –

+0

Grazie, ottimo link. – serg

0

Questa pagina elenca tutti gli eventi che funzionano su tutti i browser per quanto ne so. Qui non troverai l'evento "incolla" perché, come altri lo hanno sottolineato, non funziona su tutti i browser.

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

+0

Questo è sbagliato: '.mouseup()': Il puntatore del mouse si trova su un elemento in qualsiasi momento mentre il pulsante del mouse è attivo – Zach

+1

Il collegamento è morto. – Julian

-1

So che questa domanda è piuttosto vecchia. Ma per dare una risposta aggiornata e completa a questa domanda.

I metodi di scelta rapida sono sempre chiamato lo stesso come i nomi degli eventi utilizzati in uno qualsiasi dei sui()/bind() Live) i metodi/(.

Quindi, se si desidera utilizzare qualsiasi funzione evento scorciatoia ma con il()/bind()/vivere() si può solo prendere il nome metodo, ommit le staffe e metterlo tra virgolette in questo modo: " eventname "/ 'eventname'. Dovrebbero comportarsi allo stesso modo.

Così, per esempio: .dblclick() -> 'DoppioClic' =>

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

http://api.jquery.com/category/events/ è un elenco completo dei metodi di eventi.(Sì, lo so che non sono l'unico che punta a questo sito ma insieme alla mia spiegazione è in realtà un elenco completo di eventi per "on"/"live"/"bind")

Se si ha la possibilità da usare su() dovresti farlo poiché on() fa lo stesso e tutte le chiamate a 'bind' e 'live' chiamano effettivamente la funzione 'on'. Ecco ulteriori prove su questo: What's the difference between `on` and `live` or `bind`?

Anche alcune persone hanno chiesto degli eventi tattili (mobili). In genere consiglio di abituarmi al metodo on() perché secondo lo jQuery mobile documentation questo è l'unico modo per registrare gli eventi touch sugli elementi html, che è alla pari con le future API di jQuery per rimuovere bind()/live() e tutti i metodi degli eventi di collegamento.

Problemi correlati