将字符串作为javascript函数调用时遇到了一些问题。我在PHP中的字符串如下:
'function selectCallBack() { testOnSelect($(this)); }'
在脚本方面我有以下我试图使用窗口,但这不起作用。
var fn = window[{$element.onSelect}];
if (typeof fn === "function") {
fn();
}
fn的类型未定义。我也尝试用对象检查它是否是函数,但我不知道如何调用函数。
我正在使用SmartyTemplate,Javascript和PHP。你能告诉我这是错的吗?
答案 0 :(得分:1)
继承了一个函数的工作示例代码,作为字符串(php var)定义并在脚本标记内调用:
<?php $stringFunction = 'function alertMsg(msg) { alert(msg); }' ?>
<script><?php echo $stringFunction ?> alertMsg('Hello World!');</script>
请记住,如果您使用smarty,则需要转义脚本标记内的{}括号。你可以使用smarty-template-engine的{literal}函数来实现。