I am a JS programmer and I have been experimenting with jQuery a lot but have run into a couple puzzling aspects.
I feel like people use jQuery for much more than necessary. I really just want to know why picking jQuery may be better than using just pure JS.
I know it makes sense for webfx like the animate and fades but for things like adding event listeners it seems just as easy to use
obj = document.getElementByID(_ID_);
obj.addEventListener("mousedown"...);
An example of this is the answer I found on StackOverflow earlier today about performing an action for highlighted text. Get the Highlighted/Selected text
In the example linked in the answer at http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html
The guy uses the bind function to the document. Why use bind rather than addEventListener. Also with jQuery everything needs to be included in the .ready() method how is this better than (or why choose it over)
document.addEventListener('load', function () { ... }, false);
There are other times I have seen jQuery used that puzzled me, I hope you guys can shine some light on it for me.
People use jQuery because it’s simpler, easier, and more powerful, and because it helps them forget about IE.
To answer your specific questions:
Otherwise, you need to call
attachEventfor IE.Also, jQuery event handling has simpler syntax, and supports live events.
jQuery does not require you to put everything in a
readyhandler; it’s actually better to move your code to the bottom of the page and execute it immediately.Unlike
document.addEventListener('load', ...), jQuery’sreadyevent will not wait for images to load.Also, it works in IE, and it will still run your code even if the document already loaded.