[jQuery] Chaining event handlers
I've got two submit handlers for a form. The first validates the form
entries. The second submits the form as a web service call (AJAX). I'm
using $(form).submit( fValidate ) followed by $(form).submit( fSubmit ).
fValidate() returns false when validation fails but fSubmit still fires.
Shouldn't jQuery's handleEvent() stop processing after a handler returns
false? (see change below.)
function handleEvent(event) {
var returnValue = true;
event = event || fixEvent(window.event);
var handlers = [];
for ( var i in this.events[event.type] )
handlers[handlers.length] = this.events[event.type][i];
for ( var i = 0; i < handlers.length; i++ ) {
try {
if ( handlers[i].constructor == Function ) {
this.$$handleEvent = handlers[i];
if (this.$$handleEvent(event) === false) {
event.preventDefault();
event.stopPropagation();
//returnValue = false;
return false; // fix?
}
}
} catch(e){ }
}
return returnValue;
};
_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/