javascript - 将值传递给 JQuery 中的函数和变量范围

标签 javascript jquery function scope

代码示例链接:

http://jsfiddle.net/99Shr/

此代码适用于给定的点击处理程序,$(this) 接受特定类。

我正在尝试获取点击函数中的代码并将其放入它自己的函数中。我想这样做的原因是因为我想根据调用的点击处理程序将 quantity-- 替换为 quantity++ 。我遇到的问题是在函数中调用时变量未定义,因为 $(this) 是窗口。

我很清楚,为了实现我想要的目标,我可能做错了,并且愿意学习更好的方法来实现它。

function price(change) {
   return change;
}

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

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

最佳答案

您可以自定义事件处理程序注册,以便将其他数据发送到您的函数:

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 属性作为 e.data.increment 发送到 myClickHandler

关于javascript - 将值传递给 JQuery 中的函数和变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708849/

相关文章:

javascript - 如何获取数组中 5 分钟间隔内的最后几个小时?

function - 这个函数是怎么计算的呢?

python - 如何创建一个函数并应用于 pandas 中的每一行?

javascript - 在 sweetalert Ok 弹出窗口后刷新当前页面

javascript - 如何在我的 HTML 中使用来自外部 .js 文件的变量?

javascript - 在列上制作切换效果的最佳方法

javascript - 解析服务器云代码错误 141 : Unauthorized

javascript - Next.Js:更改页面而不停止音频

javascript - 如何检查点击是直接在元素中还是仅在其某些子元素中?

javascript - 潜在 "falsy"输入的回退。处理 JSON 时我该如何做?