Pasando valor en función y scope variable en JQuery

Enlace a código de ejemplo:

http://jsfiddle.net/99Shr/

Este código funciona para un manejador de clics dado, y $ (esto) toma la clase en particular.

Estoy intentando tomar el código que está dentro de la función de clic y ponerlo en su propia función. La razón por la que quiero hacer esto es porque me gustaría reemplazar la cantidad – con la cantidad ++ en función de la llamada del controlador de clic. El problema con el que me estoy topando es que las variables cuando se llama en la función no están definidas ya que $ (esto) es la ventana.

Soy muy consciente de que puedo estar haciendo esto mal para lograr lo que quiero y estoy abierto a aprender una mejor manera de lograrlo.

function price(change) { return change; } $('.cart-item-decrease').click(function(){ price('quantity--'); }); 

o

 $('.cart-item-increase').click(function(){ price('quantity++'); }); 

Puede personalizar el registro del controlador de eventos para que se envíen datos adicionales a su función:

 function myClickHandler(e) { // ... quantity += e.data.increment; // ... } $('.cart-item-increase').on('click', null, { increment: 1 }, myClickHandler); $('.cart-item-decrease').on('click', null, { increment: -1 }, myClickHandler); 

Aquí, la propiedad de increment se envía a myClickHandler como e.data.increment .