所以我构建了一个具有回调选项的插件。此回调用作验证部分,因此我们使用'return false'来停止插件,但我无法使其工作。
所以回调正在运行但返回false不是(它必须是返回false而不是某种布尔变量)
//回调
$('.a').click(function(){
if(typeof options.onValidate == 'function'){
options.onValidate.call(this);
}
// if the callback has a return false then it should stop here
// the rest of the code
});
// options
....options = {
// more options
onValidate:function(){
//some validation code
return false;//not working
}
}
答案 0 :(得分:0)
options.onValidate.call(this);
返回false,但无法停止执行单击处理程序。你应该使用:
if(typeof options.onValidate == 'function'){
var result = options.onValidate.call(this);
if(result === false) return;
}
答案 1 :(得分:0)
您没有在代码中使用返回的布尔值。试试这个:
$('.a').click(function() {
var isValid = false;
if (typeof options.onValidate == 'function'){
isValid = options.onValidate.call(this);
}
if (isValid) {
// if the callback has a return false then it should stop here
// the rest of the code
}
});