我想使用jQuery的click()使用带参数的函数绑定元素。然后我需要在某个时候直接调用该函数。这就是我目前正在做的事情:
function f1(e){
f(e.data.a, e.data.b, e.data.c);
}
function f(a, b, c){
//...
}
var a = 1, b = 2, c = 3;
$('#someElement').click({a: a, b: b, c: c}, f1); //bind function
f(a, b, c); //call directly
我觉得它很多,因为我有很多这样的功能。我相信有更好的方法来实现这一目标。非常感谢你。
答案 0 :(得分:1)
您可以使用数据属性来获取您点击
的每个元素的参数HTML
<div class="someElement" data-a="1" data-b="2" data-c="3"></div>
<div class="someElement" data-a="4" data-b="5" data-c="6"></div>
JS
function f(a, b, c) {
alert(a + " " + b + " " + c);
}
$('.someElement').click(function() {
var a = $(this).attr('data-a'),
b = $(this).attr('data-b'),
c = $(this).attr('data-c');
f(a, b, c);
});
答案 1 :(得分:0)
我认为你可以像这样直接调用你的函数
var a = 1, b = 2, c = 3;
$('#someElement').bind("click",function(){
f(a, b, c); //call directly
});