我有一个函数对象,我想使用 jquery 在单击时向其传递参数,但它不起作用。
<script>
var item=232;
$(function(){
$('div').click(fn_clik('Mike'))
})
var fn_clik = function(name){
alert('Name is:' + name + ' item is:' + item)
}
</script>
我不明白其背后的概念。谁能解释一下我哪里出错了?
让您正在调用的函数在闭包中返回一个具有名称的函数,并通过参数传递:
$('div').click( fn_clik('Mike') );
var fn_clik = function(name){
return function() {
alert('Name is:' + name + ' item is:' + item);
}
}
或者使用一个匿名函数来包装使用正确参数调用的原始函数:
$('div').click(function () {
fn_clik('Mike')
});
快速说明一下,在您的原始代码中,您正在调用函数“fn_clik”,而不是将其作为对象传递。所以你的代码评估为:
$('div').click( undefined );
这是因为你原来的'fn_clik'没有返回值;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)