Looking for a full list of jQuery event types

JqueryEventsDom Events

Jquery Problem Overview


Where I can find a complete list of all jQuery supported events (like click, mouseup etc) with some explanations when they are triggered? I am looking for those that can be binded:

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

For example I just found out by accident that there is paste event but I can't find any references to it anywhere in their docs. What else is there?

Jquery Solutions


Solution 1 - Jquery

A non exhaustive list is at http://api.jquery.com/category/events/. There are more DOM events supported through .bind() and .live(). Those functions can assign a handler to any standard DOM event, most of which are listed along with compatibility tables at http://www.quirksmode.org/dom/events/

>The .bind() method is the primary means of attaching behavior to a document. All JavaScript event types, such as focus, mouseover, and resize, are allowed for eventType.


As of jQuery 1.7, you should use .on() in place of .live() and .bind().

Solution 2 - Jquery

MDN has a good overview of majority of the standard and non-standard events

https://developer.mozilla.org/en-US/docs/Web/Reference/Events

Solution 3 - Jquery

You can check out the full list of jQuery events: http://api.jquery.com/category/events/

But regarding the paste event you mentioned, jQuery can also bind to standard DOM events. A good list is provided by MDN https://developer.mozilla.org/en-US/docs/Web/Events

Solution 4 - Jquery

This page lists all events that work in all browsers to my knowledge. You will not find the "paste" event here, because, as others pointed it out, it doesn't work in all browsers.

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

Solution 5 - Jquery

I know this question is pretty old. But for the sake of giving an updated and complete answer to this question.

The shortcut methods are always named the same as the event names used in any of the on()/bind()/live() methods.

So if you want to use any shortcut event feature but with on()/bind()/live() you can just take the method name, ommit the brackets and put it in quotes like so: "eventname"/'eventname'. They should behave the same.

So for example: .dblclick() -> 'dblclick' =>

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

http://api.jquery.com/category/events/ is a complete list of event methods. (Yes I know I'm not the only one pointing to this site but together with my explanation it actually is a complete list of events for 'on'/'live'/'bind')

If you have the chance to use on() you should do so since on() does the same and all calls to 'bind' and 'live' actually call the 'on' function. Here is more prove about this: https://stackoverflow.com/questions/8065305/whats-the-difference-between-on-and-live-or-bind

Also some people asked about the touch (mobile) events. I generally recommend to get used to the on() event method because according to the [jQuery mobile documentation][1] this is the only way to register touch events on html elements, which is on par with jQuery's future api plans to remove bind()/live() and all the shortcut event methods.

[1]: http://api.jquerymobile.com/category/events/ "jQuery mobile documentation"

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsergView Question on Stackoverflow
Solution 1 - JqueryAndy EView Answer on Stackoverflow
Solution 2 - JqueryAndresView Answer on Stackoverflow
Solution 3 - JqueryafasdfasdfView Answer on Stackoverflow
Solution 4 - JqueryInfiniteStackView Answer on Stackoverflow
Solution 5 - JqueryLukas WillinView Answer on Stackoverflow