Programming and coding JavaScript applications, web applications are becoming easier, with the strong support from powerful JavaScript frameworks such as jQuery, MooTools. However, within the scope of this free JavaScript article tutorial, the author only discusses the events in JavaScript, through some definition: JavaScript mouse events, Adding Events - Easy with JavaScript frameworks, Events without the JavaScript Framework, JavaScript button events, jQuery events, Select the Element for Clicking, Events in Firefox/Safari/Opera/Chrome/Internet Explorer and so on, ... Please go to the full post page for more details.
Check more JavaScript events article tutorials for better coding tips:
- How to Build Custom events in JavaScript
- Top 10 JavaScript Frameworks by Google, Yahoo, Bing
- Demo
- Enlarge
- Reload
- New window
Generate your business videos by AI with voice or just text
Your first FREE AI Video App! Automate Your First AI Video. Create Your Professional Video In 5 Minutes By AI No Equipment Or Video Editing Skill Requred. Effortless Video Production For Content Marketers.
Javascript is becoming much more accessible thanks to libraries such as jQuery & Mootools. In this article, hopefully to form part of a new series, we are going to take a look behind the libraries - not looking at the code of the libraries but revealing how much easier they make our lives.
Adding Events - Easy with Libraries!
Today we're going to be looking at adding events. With jQuery, it's as simple as:
1 | $( '#header' ).click( function () {...}); |
However with normal javascript it's not so nice. As you might expect, Firefox, Safari, Chrome, Opera and similar use one set (the correct, I might add) way of doing it, whereas Internet Explorer (all of them!) use a different code. That means for each event we add, we need to write the code twice. No worries though. I'm going to show you both sets of code and then we'll create our own function to abstract the code away and let us write one set of code which will work with every browser.
Events without the Library
Firstly, we'll set up just a simple function which we will run when an element is clicked.
1 | function doSomething() |
2 | { |
3 | alert( 'you clicked me!' ); |
4 | } |
And an element for us to select:
1 | < h1 id = "header" >This is what we'll be clicking on!</ h1 > |
Select the Element for Clicking!
So our first step (and this works in all browsers, thankfully!) we will just select the header element:
1 | var h1 = document.getElementById( 'header' ); |
Firefox, Safari, Opera, Chrome and so on.
So this is the code that all popular, modern day browsers use. It's incredibly straight forward and is called addEventListener():
1 | h1.addEventListener( 'click' , doSomething, false ); |
The function takes 3 arguments. The first is the event - when you want the function to be run. We've used click, but there are countless others. The second is the function itself - we created this function earlier. Note that because we are passing the function through as an argument we don't need to add brackets. The third is to do with javascript bubbling and when the event is fired. This is something which is a bit too complex right now, but we'll cover it in the future!
Internet Explorer
IE's code is pretty similar - oh Microsoft, why not just use the same as everyone else?
1 | h1.attachEvent( 'onclick' , doSomething); |
This only takes two arguments, the event and the function to execute. Whereas with most browsers you would use 'click', this time it's 'onclick'. Simply put, add 'on' to any event.
If you run the respective code in the relevant browser, it will work. If you use the wrong code, check, and it wont work.
Our own Version.
So, this is a pain right? What we are going to do now is create our own function which will allow us to only write the addEvent code once, not twice. I'll show you all the code and using the comments you should be able to see most of what is going on:
01 | function addEvent(elem, evt, func, cap) |
02 | { |
03 |
04 | if (elem.attachEvent) |
05 | { |
06 | //if this evaluates to true, we are working with IE so we use IE's code. |
07 | elem.attachEvent( 'on' +evt, func); |
08 | } else { |
09 | //the statement has evaluated to false, so we are not in IE/ |
10 | //the capture argument is optional. If it's left out, we set it to false: |
11 | if (!cap) cap = false ; |
12 | //and use the normal code to add our event. |
13 | elem.addEventListener(evt, func, cap); |
14 | } |
15 | } |
And the usage of this is straight forward:
1 | addEvent(h1, 'click' , doSomething, false ); |
And We are Done
I hope you enjoyed this, it's always good to step back from the library and write some of our own functions.
- Sent (0)
- New
Generate your business videos by AI with voice or just text
chatGPTaz.com
Talk to ChatGPT by your mother language
AppAIVideo
Your first FREE AI Video App
Deepfake Video
Deepfake AI Video Maker
Deepfake
Deepfake AI Video Maker
AI Deep Fake
Deepfake AI Video Maker
AIvidio
AI Video Mobile Solutions
AIvideos
AI Video Platform & Solutions
AIvedio
AI Video App Maker
Artificial General Intelligence
Ai and higher level Artificial General Intelligence (AGI)
Artificial General Intelligence
Ai and higher level Artificial General Intelligence (AGI)
Faceswap AI Online
Swap Faces Video, Photo & GIFs Instantly with Powerful AI Tools - Faceswap AI Online FREE
Faceswap AI Online
Swap Faces Video, Photo & GIFs Instantly with Powerful AI Tools - Faceswap AI Online FREE
Faceswap AI Online
Swap Faces Video, Photo & GIFs Instantly with Powerful AI Tools - Faceswap AI Online FREE
Powerful AI Presentation PPT Maker for FREE
Build an impressive presentation with our free online AI presentation app
Your next top AI Assistant
Claude AI, developed by Anthropic
Your next top AI Assistant
Claude AI, developed by Anthropic
Temu Free $500 for New Users
Claim Free Temu $500 Credit via Affiliate & Influencer Program
Free TikTok Ads Credit
Master TikTok Ads for Your Business Marketing
Dall-E-OpenAI.com
Generate creative images automatically with AI
chatGPT4.win
Talk to ChatGPT by your mother language
First AI Product from Elon Musk - Grok/UN.com
Speak to Grok AI Chatbot with Your Language
Tooly.win
Open tool hub for free to use by any one for every one with hundreds of tools
GateIO.gomymobi.com
Free Airdrops to Claim, Share Up to $150,000 per Project
iPhoneKer.com
Save up to 630$ when buy new iPhone 16
Buy Tesla Optimus Robot
Order Your Tesla Bot: Optimus Gen 2 Robot Today for less than $20k