通过内联数据属性传递Javascript函数
我正在使用一个Javascript文件上传库,它的一个特性是使用HTML5内联数据属性将信息传递给插件 这对于任何与数据、字符串、数字等相关的东西都非常有效,但是插件有一些回调方法,您可以将函数分配给它们。我的问题是,当试图通过这些内联数据属性传递javascript函数时,如下所示:通过内联数据属性传递Javascript函数,javascript,html,function,attributes,callback,Javascript,Html,Function,Attributes,Callback,我正在使用一个Javascript文件上传库,它的一个特性是使用HTML5内联数据属性将信息传递给插件 这对于任何与数据、字符串、数字等相关的东西都非常有效,但是插件有一些回调方法,您可以将函数分配给它们。我的问题是,当试图通过这些内联数据属性传递javascript函数时,如下所示: <input type="file" name="test" data-on-finish="alert();"> <script type="text/javascript">
<input type="file" name="test" data-on-finish="alert();">
<script type="text/javascript">
function myTesting(){
alert('yay');
}
</script>
<input type="file" name="test" data-on-finish="myTesting">
我假设它正在读取alert()代码>作为字符串。知道如何将可执行javascript传递给插件吗
我相信我使用的插件是jQuery文件上传插件的扩展:
更新:
我还尝试使用全局定义的函数,如下所示:
<input type="file" name="test" data-on-finish="alert();">
<script type="text/javascript">
function myTesting(){
alert('yay');
}
</script>
<input type="file" name="test" data-on-finish="myTesting">
函数测试(){
警惕(“耶”);
}
我已尝试将finish上的数据属性更改为myTesting
,myTesting()?差不多
//for example, a global function
window['someFunctionName'].call();
//a namespaced function
//similar to doing ns.someFunctionName()
ns['someFunctionName'].call();
看起来它正在尝试回调函数,如myfunction.call(
尝试传递是这样一个函数
<input type="file" name="test" data-on-finish="myFunction;">
function myFunction(){
alert('I am alerting');
};
函数myFunction(){
警惕(“我在警惕”);
};
使用类似以下内容:
<input type="file" name="test" data-on-finish="alert();">
<script type="text/javascript">
function myTesting(){
alert('yay');
}
</script>
<input type="file" name="test" data-on-finish="myTesting">
$(函数(){
功能测试(){
警报(“正常”);
}
$(“.test”)。数据(“test”,test);
$(“.test”)。数据(“test”)();
});
尝试了一下,运气不好。我已经添加了上面的更新。我认为eval()可以完成这项工作,但可能很危险:我尝试了这个,但不幸没有成功。它仍在尝试调用call()
字符串上的方法seems@petehare不,它不是调用字符串。答案使用该字符串指向特定命名空间中的该函数。类似的情况是,它将myFunction;
作为字符串读取,并尝试运行“myFunction;”。对字符串调用()
方法。。。