Old fashioned html onclick return false doesnt in IE work when jquery script included

Posted by user292662 on Stack Overflow See other posts from Stack Overflow or by user292662
Published on 2010-03-12T21:04:01Z Indexed on 2010/03/12 21:07 UTC
Read the original article Hit count: 263

Ok, so im quite new to jquery but found this bizzar problem just now,

If we ignore jquery for a second and consider this scenario, if i have two links like below both with an href and both with and onclick event. The first link will not follow the href because the onclick returns false, and the second link will because the onclick returns true.

<a href="/page.html" onclick="return false;">Dont follow</a>

<a href="/page.html" onclick="return false;">Follow</a>

This works just hunky dory in every browser as it should, the thing is, as soon as i include the jQuery script on the page this stops working in all versions of IE which then always follows the href whether the onclick returns false or not. (it continues to work fine in other browsers)

Now if i add an event using jquery and call .preventDefault() on the event object instead of doing it the old fashioned way this behaves correctly, and you may say, well just do that then? But i have a site with thousands of lines of code and i am adding jquery support, i dont want to run the risk that i might miss an already defined html onclick="" and break the website.

I cant see why jQuery should prevent perfectly normal javascript concepts from working, so is this a jQuery bug or am I missing something?

© Stack Overflow or respective owner

Related posts about jQuery

Related posts about JavaScript