我想根据名称调用名称空间的函数。
也许有些背景:我想要的是,通过 $。mobile.loadPage(inStrUrl,{showLoadMsg:false}); 动态绑定页面,然后根据当前页面调用一个函数在加载的页面内。例如:每个页面都有一个showFilter函数,Event附加到一个main.html页面,该页面应调用当前页面中的匹配函数。
我也尝试了一些解决方案,也有jquery,但没有什么对我有用。
这是我的功能代码:
function namespace() { }
namespace.showFilter = function () {
alert("Test");
}
并希望通过其名称“调用”或“调用”它。 这是我至少尝试过的。
$(document).ready(function() {
var fn = window["namespace.showFilter"];
fn();
});
我收到错误 TypeError:fn不是函数
这是一个小提琴http://jsfiddle.net/xBCes/1/
答案 0 :(得分:2)
您可以通过以下方式调用它:
$(document).ready(function() {
window["namespace"]["showFilter"]();
});
或
$(document).ready(function() {
window["namespace"].showFilter();
});
或
$(document).ready(function() {
window.namespace.showFilter();
});
答案 1 :(得分:1)
我发现我必须手动将其设置为窗口。
window.namespace = function() { }
window.namespace.showFilter = function () {
alert("Test");
};
$(document).ready(function() {
var fn = window["namespace"]["showFilter"];
fn();
});
答案 2 :(得分:0)
像这样:
$(function() {
window.namespace.showFilter();
});
P.S。我缩短了$(document).ready(...)
答案 3 :(得分:0)
function namespace() {}
namespace.showFilter = function () {
alert("Test");
}
$(document).ready(function() {
var fn = namespace.showFilter();
fn();
});