我定义了一个函数并在实时点击事件中调用它,但该函数在没有点击事件的情况下运行。代码是这样的:
function validate(flag){
//do something
}
$('#btnYes').live('click', validate(1));
验证功能在任何点击之前在页面加载时运行。有什么问题?
我定义了一个函数并在实时点击事件中调用它,但该函数在没有点击事件的情况下运行。代码是这样的:
function validate(flag){
//do something
}
$('#btnYes').live('click', validate(1));
验证功能在任何点击之前在页面加载时运行。有什么问题?
找到了一种通过 on 方法将参数传递给函数的方法:
$(document).on('click', '#btnYes', {flag:1}, validate);
并像这样在函数中获取参数:
function validate(params){
alert(params.data.flag);
}
您必须传递函数引用而不是调用该函数。
$('#btnYes').live('click', validate);
live
validate
引发点击事件时会调用您。
但是,在这种情况下,您不能传递标志。所以你仍然必须求助于使用匿名函数。
$('#btnYes').live('click', function() { validate(1); });