Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 35095
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T14:10:53+00:00 2026-05-10T14:10:53+00:00

I see 2 main ways to set events in JavaScript: Add an event directly

  • 0

I see 2 main ways to set events in JavaScript:

  1. Add an event directly inside the tag like this:

    <a href='' onclick='doFoo()'>do foo</a>

  2. Set them by JavaScript like this:

    <a id='bar' href=''>do bar</a>

and add an event in a <script> section inside the <head> section or in an external JavaScript file, like that if you’re using prototypeJS:

Event.observe(window, 'load', function() {     $('bar').observe('click', doBar); } 

I think the first method is easier to read and maintain (because the JavaScript action is directly bound to the link) but it’s not so clean (because users can click on the link even if the page is not fully loaded, which may cause JavaScript errors in some cases).

The second method is cleaner (actions are added when the page is fully loaded) but it’s more difficult to know that an action is linked to the tag.

Which method is the best?

A killer answer will be fully appreciated!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T14:10:54+00:00Added an answer on May 10, 2026 at 2:10 pm

    In my experience, there are two major points to this:

    1) The most important thing is to be consistent. I don’t think either of the two methods is necessarily easier to read, as long as you stick to it. I only get confused when both methods are used in a project (or even worse on the same page) because then I have to start searching for the calls and don’t immediately know where to look.

    2) The second kind, i.e. Event.observe() has advantages when the same or a very similar action is taken on multiple events because this becomes obvious when all those calls are in the same place. Also, as Konrad pointed out, in some cases this can be handled with a single call.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

See this example! int main( int argc, char ** argv ) { int *ptr
Please see this piece of code: #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int i
EDIT- I would like to see it written in javascript, not jquery or a
I see this question have been asked in many different ways, but I don't
For my Java apps with very long classpaths, I cannot see the main class
I see there are two main options for managing transactions with llblgen. Method 1:
The main user-case is: Create the 2D floor plan See the 3D view of
An ordinary object, I can use o.__repr__() to see something like '<__main__.A object at
See title. By lightweight markup I mean something like markdown or wikitext.
I'd like to do some stuffs before main function. I have multiple source files.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.