Monday, February 13, 2012

Can you bind two events to a handler with jQuery?


(By the way, a quick experiment indicates that the answer is "yes", but it might be "it doesn't work in every browser".)



I am using a validator plugin that binds something to the submit event of a form. But I want to perform additional validation. It would seem that I can simply bind my additional validation to the submit event.



HOWEVER, I worry that that might not work on every browser. Should I expect this to work or will I need to write more complex code?

2 comments:

  1. "It would seem that I can simply bind my additional validation to the submit event... I worry that that might not work on every browser."


    If you're using jQuery to bind the handlers, they ensure cross browser compatibility.

    The event system is largely their own construct. They actually only bind one generic handler to a given element. Your actual handlers are stored in jQuery.cache, and the generic handler invokes them.

    One thing to keep in mind is that if the other handlers are not bound using jQuery, you may not be able to ensure the order in which the handlers are invoked.

    ReplyDelete
  2. okay as bind may solve your problem initially it may create more in the future. Look up the "on()" method for jQuery, and you can do as much as you want inside that event callback.
    And the simple answer is 'yes'!

    ReplyDelete