我有一个对象作为data
附加到DIV。我还有一个字符串,其中包含该对象的函数名称。
function callFunction(divId, funcName, data) {
o = $(divId).data('myObject');
// how do I call o.funcName(data) ???
// Somewhere else...
callFunction('#myDivId', "myFunction", someData);
divId
和funcName
实际上来自页面上的Java小程序,这就是为什么它们是字符串。
答案 0 :(得分:4)
假设它是一个全局函数:
window['foo']()
与
相同foo()
答案 1 :(得分:1)
取决于您的功能范围。它附在窗户上,你可以这样做;
<script>
var my_dynamic_function = function(param) {
alert(param);
};
var callFunction = function(divId, funcName, data) {
...
window[funcName]('PARAM!');
};
...
callFunction('#myDivId', 'my_dynamic_function', data);
</script>