假设我有以下代码:
$('#from').focus(listExpand(1));
$('#to').focus(listExpand(3));
Run Code Online (Sandbox Code Playgroud)
它没有像我预期的那样工作.我认为它是错误的,因为我传递的是函数结果而不是函数本身.
所以正确的语法是:
$('#from').focus(listExpand); // no brackets and no parameters
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,我无法将任何参数传递给函数:(
我该如何实现这个主题?
下面会工作.用这个.
$('#from').focus(function() {listExpand(1) });
$('#to').focus(function(){listExpand(3);})
Run Code Online (Sandbox Code Playgroud)
@sudher也提到了其他很酷的方式.您可以在http://jsfiddle.net/kvHDA/查看它的工作情况
示例代码
$('#from').focus({x: 1},myfunc);
function myfunc( e){
alert(e.data.x);
}
Run Code Online (Sandbox Code Playgroud)
将调用包装listExpand在单独的函数定义中:
$('#from').focus(function(){ listExpand(1); });
$('#to').focus(function(){ listExpand(3); })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |