我有一个传递给插件的变量名,但该变量实际上是一个函数。我使用 jquery $.isFunction 来检查它是否是一个函数,如果是,它应该执行该函数。
但我似乎无法让它工作,我在jsfiddle中放了一些例子:http: //jsfiddle.net/tZ6U9/8/
但这里有一个示例代码:
HTML
<a class="one" href="#">click</a><br />
<a class="two" href="#">click</a><br />
<a class="three" href="#">click</a><br />
JS
$(document).ready(function() {
help = function(var1) {
alert(var1);
}
function help2(var1) {
alert(var1);
}
$('a.one').click(function() {
var functionName = "help";
if ($.isFunction([functionName])) {[functionName]("hello");
} else {
alert("not a function");
}
return false;
});
$('a.two').click(function() {
var functionName = "help";
if ($.isFunction(functionName)) {
functionName("hello");
} else {
alert("not a function");
}
return false;
});
$('a.three').click(function() {
var functionName = "help2";
if ($.isFunction(functionName)) {
functionName("hello");
} else {
alert("not a function");
}
return false;
});
$('a.four').click(function() {
var functionName = "help2";
if ($.isFunction([functionName])) {[functionName]("hello");
} else {
alert("not a function");
}
return false;
});
});
正如你所看到的,我厌倦了很多东西,但可能都是错误的......我从中获得了一些灵感:jQuery - 使用变量作为函数名
总的来说 ,我传递了一个与函数同名的变量,使用jquery检查它是否是一个函数,如果是,它应该执行该函数。
在此先感谢您的帮助。