除了我下面使用的方法之外,是否还有其他方法可以运行传递参数的常规JS函数?
使用途中函数来完成此操作似乎是多余的。
function regularJSfunc(param1,param2) {
// do stuff
}
$(document).ready(function(){
$('#myId').change(function(){
regularJSfunc('data1','data2');
});
}
使用.bind
事件似乎更好,但是我不确定如何访问参数。
注:以下示例不起作用。
$(document).ready(function(){
$('#myId').bind('change',{'data1','data2'},regularJSfunc);
}
4条答案
按热度按时间irtuqstp1#
除了使用
bind()
和事件属性外,还可以使用partial function application:(Prototype.js内置了此扩展。)
那么您的代码可能类似于
tcomlyy62#
在第二个示例中,数据必须是
map
。u3r8eeie3#
没有。
jQuery event handlers接收一个
function
对象,用一个参数eventObject来调用它,如果你想传递你自己的参数,那么你可以选择传递一个中间函数,这个函数会用你想要的参数来调用你的最终函数。你可以通过传递一个匿名函数来达到这个效果,就像你在工作示例中提供的那样,这也是从jQuery事件绑定中调用一个带有自定义参数的常规函数的 * 标准 * 方式(* 标准 * 意味着 * 我看到每个人都在做 *)。
lzfw57am4#
以下是您尝试执行的操作:
然后你可以像这样访问数据:
和另一种方法:
然后你可以像这样访问数据: