Javascript动态创建的函数表达式无法与onclick事件

时间:2016-09-26 17:47:01

标签: javascript angularjs

我是Javascript初学者。我正在动态创建函数表达式并使用文本文件中的JSON调用参数。使用正确的参数正确创建函数,并且循环正常递增。即一切正常。我的问题是,当我用onclick事件调用动态生成的函数时,没有任何事情发生,也没有错误。这是功能:

function imgurl(arr) {

for(var i = 1; i < arr.length; i++) {

arr[i].fname = function() {
addImage(arr[i].image, 0.5, 0.75);
};

 /*$scope.addImage1 = function() {  //this is a sample of the function
 addImage('image.png', 0.5, 0.75);
 };*/

}
}; 

这是onclick事件

<button type="button" class="btn image1" ng-click="addImage1()">Image</button>

单击按钮时,代码会将图像导入画布。我通过使用()立即调用它们来测试动态生成的函数,并在页面加载函数循环时调用它们,并将所有图像完美地导入到画布中,即函数表达式按预期工作。但是当我尝试onclick事件时,我什么都没得到,甚至没有错误。

然后我手动写出测试函数表达式并且onclick事件有效。从上面的代码:

$scope.addImage1 = function() {
 addImage('image.png', 0.5, 0.75);
 };

所以当我手动写出函数表达式然后onclick事件工作但是当我尝试使用动态生成的表达式时,onclick不起作用。我只想再次提一下,当我立即调用动态生成的函数时,我无法调用onclick事件。

0 个答案:

没有答案