Search the Community
Showing results for tags 'events addeventlistener'.
-
function handleForm() { // Do whatever. if (errors) { return false; } else { return true; } } The text goes on to say "Conversely returning anything other than false allows the default event behavior to occur (in that case, the forms submission). The problem with returning false to prevent the default browser behavior is that it only works reliably when the event listener was registered using the traditional approach. For example say event.js added the form submissison event handler using the newer approach. U.addEvent(U.$('theForm'), 'submit', setHandlers); With that code, you would see that the form's submission would go through meaning that the form itself would be reset (upon resubmission) and the event listeners would not be present (they would have been created, but reset upon submission)." It's not clear to me why the U.addEvent custom method wouldn't work here. When we defined the U object on page 276, the addEvent method already had a fall back for browsers that didn't support the addEventListener() method, as below: addEvent: function(obj, type, fn) { 'use strict'; if (obj && obj.addEventListener) { obj.addEventListener(type, fn, false); } else { obj.attachEvent('on' + type, fn); } } Clearly, in the code above that attachEvent() method is used as an alternative for browsers that don't support the addEventListener() method. Question now is why do need to use the e.preventDefault() method on top of everything? Thanks, Mark