当前位置:  开发笔记 > 编程语言 > 正文

在jquery click事件中将参数传递给回调函数

如何解决《在jqueryclick事件中将参数传递给回调函数》经验,为你挑选了2个好方法。

直接的业务:

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

$(".number").click(printNumber);

和回调函数:

function printNumber(number){
   console.log(number);
}

我想知道我是否可以将一个参数传递给回调,所以它看起来像这样

$(".number").click(printNumber(number));

(我知道它会立即调用该函数,但仍然有一种方法可以将参数传递给它)

先感谢您!



1> Dmitry Yare..:

处理这个问题的干净方法是返回一个函数:

function printNumber(number) {
   return function(e) {
       console.log(number);
   };
}

然后使用:

$(".number").click(printNumber(number));



2> adeneo..:

您可以像event.data在jQuery中一样直接将数据传递给回调

$(".number").on('click', {number : 4}, printNumber);

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

另一种方法是使用 bind

$(".number").click(printNumber.bind($, 4));

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

但这也会改变回调this


返回功能是更清洁的方式.
推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有