链接到代码示例:
此代码适用于给定的点击处理程序,而 $(this)适用于特定的类。
我试图获取click函数中的代码并将其放入其自己的函数中。我想这样做的原因是因为我想用数量++替换数量 - 取决于调用哪个点击处理程序。我遇到的问题是函数中调用的变量是未定义的,因为 $(this)是窗口。
我很清楚,我可能做错了,无法达到我想要的目标,并愿意学习更好的方法来实现它。
function price(change) {
return change;
}
$('.cart-item-decrease').click(function(){
price('quantity--');
});
或
$('.cart-item-increase').click(function(){
price('quantity++');
});
答案 0 :(得分:5)
您可以自定义事件处理程序注册,以便将其他数据发送到您的函数:
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);
此处,increment
属性将myClickHandler
发送至e.data.increment
。