如何处理dom元素中的几个侦听器?

时间:2014-09-15 16:47:12

标签: javascript angularjs event-listener

我有一个dom元素(< canvas>)与用户交互。与用户的交互取决于所选的选项。由于有几个选项,我在DOM元素中添加了几个侦听器,在代码的几个部分中。

哪种方法可以控制不同的互动?例如,我为“mousedown”添加了两个听众。事件,其中一个是选择一个图像而另一个是创建一个新图像。当启用选择图像的选项时,应该执行相应的侦听器,而另一个侦听器应该被阻止。

现在,我可以使用布尔值来处理这个问题,但是,我有两个以上的选项可以与dom元素进行交互。

dom元素在工厂中,以便在添加侦听器的不同控制器中可用:

    angular.module("app", [])
           .factory("myFactory", function(){
               var canvas = document.createElement("canvas");
               return {canvas: canvas};
           })
           .controller("controller1", function(myFactory){
               myFactory.canvas.addEventListener("mousedown", function(){});
           })
           .controller("controller2", function(myFactory){
               myFactory.canvas.addEventListener("mousedown", function(){});
           })
           .controller("controller3", function(myFactory){
               myFactory.canvas.addEventListener("mousedown", function(){});
           })

感谢您的帮助。

0 个答案:

没有答案