Trigger method via JS class or via jQuery trigger()?

Viewed 27

I have a CartHandler Javascript class that contains a method named onAddToCart for communication between the page and the cart API.

Part of the class is also a method named updateCartDOM for updating DOM content upon response from cart API.

var CartHandler = function() {
  $(document.body)
    .on('click', 'form[name="addToCart"]', { CartHandler: this }, this.onAddToCart)
    .on('update_cart_dom', { CartHandler: this }, this.updateCartDOM);
};

CartHandler.prototype.onAddToCart = function(e) { /* ... */ };
CartHandler.prototype.updateCartDOM = function(e, cart) { /* ... */ };

There are two ways of triggering updating method:

  1. Triggering a jQuery event: $(document.body).trigger('update_cart_dom', [...]);
  2. Calling the update method directly since the class is the same: e.data.CartHandler.updateCartDOM(...);

What is the preferred way of triggering updating function? Does it make any difference regarding performance or security?

0 Answers
Related