javascript - 通过内联数据属性传递 Javascript 函数

标签 javascript html function attributes callback

我正在使用 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 属性更改为 myTestingmyTesting(),但仍然没有成功...

最佳答案

为什么不放置回调的名称呢?像

//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/

相关文章:

javascript - 滚动到元素 onClick JavaScript

function - 调用函数时出错

python - 删除字符串/单词的方法

c# - 为什么不能 UnRegisterStartupScript?

javascript - 是否允许多个元素各有一个 addEventListener?

javascript - 将点击事件绑定(bind)到 Backbone View 的顶级标签

javascript - 监听 Firefox 扩展中的所有传入流量

html - 将父 div 中的两个 div 居中

html - : 以下内容涵盖的 Bootstrap 下拉菜单内容

C 函数调用 : Understanding the "implicit int" rule