首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将参数传递给jquery单击事件中的回调函数

将参数传递给jquery单击事件中的回调函数
EN

Stack Overflow用户
提问于 2016-01-09 04:00:42
回答 2查看 10.4K关注 0票数 9

直奔业务:

我有一个jquery事件侦听器,如下所示:

代码语言:javascript
运行
复制
$(".number").click(printNumber);

和一个回调函数:

代码语言:javascript
运行
复制
function printNumber(number){
   console.log(number);
}

我想知道是否可以将一个参数传递给回调,这样它就会如下所示

代码语言:javascript
运行
复制
$(".number").click(printNumber(number));

(我知道它会立即调用该函数,但还有一种方法可以向它传递参数吗)

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-09 04:04:00

处理这种情况的简单方法是返回一个函数:

代码语言:javascript
运行
复制
function printNumber(number) {
   return function(e) {
       console.log(number);
   };
}

然后使用:

代码语言:javascript
运行
复制
$(".number").click(printNumber(number));
票数 17
EN

Stack Overflow用户

发布于 2016-01-09 04:05:36

您可以在jQuery中将数据直接作为event.data传递给回调函数

代码语言:javascript
运行
复制
$(".number").on('click', {number : 4}, printNumber);

function printNumber(event){
   console.log(event.data.number); // 4
}

另一种方法是使用bind

代码语言:javascript
运行
复制
$(".number").click(printNumber.bind($, 4));

function printNumber(number, event){
   console.log(number); // 4
}

但这也会更改回调this的值

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34685129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档