Javascript事件监听器提供的角度提交

时间:2016-05-16 20:30:32

标签: javascript jquery angularjs node.js

我正在使用Angular和Express创建我的第一个Web应用程序。该应用程序包含一个画布,我在其中保留一个列表,其中包含绘制的点。目前,画布旁边有一个空文本框,当用户按下“输入”键时。在文本框中,我的点数列表将通过ng-submit返回,即(使用Jade显示)

body(ng-controller="Controller", onload="init()")
   canvas#can(width='2000',height='800',style='not important')
   img#canvasimg(style='not important')

   form(ng-submit="submit('" + target + "')")
      input(ng-model="under")
   li(ng-repeat="value in results track by $index") {{value}}

对于上述代码,'结果'指的是积分列表,并且'在'返回的是相同的点列表(即req.body.under从单独的js文件引用...不确定如何消除冗余)。

我的主要问题是我不希望用户按下按钮或手动指定何时运行ng-submit。相反,我想要基于Javascript中定义的事件监听器返回的点列表,即

canvas.addEventListener("mouseup", function (e) {
   //return list of points here
}, false);

由于ng-submit是表单的一部分,因此在提交表单时会发生返回点列表的触发事件。基本上,我怎样才能依靠事件监听器来实现“鼠标”功能。我在JS中定义了什么?

注意:我查看了ngMouseUp,但还没有能够返回或提交'我的点列表与ng-submit类似。让两个不同的事件监听器监视同一事件似乎也是多余的。

修改 我刚试过的一个hacky解决方案是通过

系统地点击JS事件监听器中的Submit按钮
document.getElementById("button-id").click();

这似乎有效,但我并不为此感到自豪。我仍然对建议采用更清洁的解决方案非常感兴趣。

0 个答案:

没有答案