我有一个变量名称,我将其传递给插件,但该变量实际上是一个函数.我使用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 />
Run Code Online (Sandbox Code Playgroud)
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;
});
});?
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我厌倦了很多东西,但所有错误的东西可能......我从中激发了一些:jQuery - 使用变量作为函数名
总的来说, 我传递一个与函数同名的变量,使用jquery检查它是否是一个函数,如果是,它应该执行该函数.
在此先感谢您的帮助.
Aus*_*rst 14
如果您想通过其名称字符串调用函数,请使用window.
var functionName = "help";
if ($.isFunction(window[functionName])) {
window[functionName]("hello");
} else {
alert("not a function");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5757 次 |
| 最近记录: |