直奔业务:
我有一个jquery事件侦听器,如下所示:
$(".number").click(printNumber);
和一个回调函数:
function printNumber(number){
console.log(number);
}
我想知道是否可以将一个参数传递给回调,这样它就会如下所示
$(".number").click(printNumber(number));
(我知道它会立即调用该函数,但还有一种方法可以向它传递参数吗)
提前谢谢你!
发布于 2016-01-09 04:04:00
处理这种情况的简单方法是返回一个函数:
function printNumber(number) {
return function(e) {
console.log(number);
};
}
然后使用:
$(".number").click(printNumber(number));
发布于 2016-01-09 04:05:36
您可以在jQuery中将数据直接作为event.data
传递给回调函数
$(".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
的值
https://stackoverflow.com/questions/34685129
复制相似问题