我正在使用 Javascript 文件上传库,其中一个功能是它使用 HTML5 内联数据属性将信息传递给插件。
这对于任何与数据相关的东西、字符串、数字等都非常有用,但是该插件有一些回调方法,您可以为其分配函数。我的问题是,当尝试通过这些内联数据属性传递 javascript 函数时,如下所示:
<input type="file" name="test" data-on-finish="alert();">
插件很好地获取了对 onFinish() 回调方法的引用,但是当它尝试执行我放入其中的任何 javascript 时,我收到错误:
Uncaught TypeError: Object alert(); has no method 'call'
我假设它正在读取 alert();
作为字符串。知道如何将可执行 javascript 传递给插件吗?
我相信我使用的插件是 jQuery 文件上传插件的扩展: https://github.com/blueimp/jQuery-File-Upload/wiki/Options
更新: 我也试过使用全局定义的函数,像这样:
<script type="text/javascript">
function myTesting(){
alert('yay');
}
</script>
<input type="file" name="test" data-on-finish="myTesting">
我已经尝试将 data-on-finish
属性更改为 myTesting
、myTesting()
,但仍然没有成功...
最佳答案
为什么不放置回调的名称呢?像
//for example, a global function
window['someFunctionName'].call();
//a namespaced function
//similar to doing ns.someFunctionName()
ns['someFunctionName'].call();
关于javascript - 通过内联数据属性传递 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11165707/