Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以角度区分鼠标点击和手指点击_Javascript_Angularjs - Fatal编程技术网

Javascript 以角度区分鼠标点击和手指点击

Javascript 以角度区分鼠标点击和手指点击,javascript,angularjs,Javascript,Angularjs,我正在编写一个Angular应用程序,希望同时支持台式机/笔记本电脑和触摸设备 对于我正在实现的功能之一,我希望能够区分用户是否单击或触摸元素,并触发不同的处理程序 最简单的方法是什么?我正在考虑在服务器中执行用户代理检测,如果用户有触摸设备,则返回不同的JS文件,但这似乎很糟糕/过分。我认为这把小提琴应该会给您一个好主意,特别是以下侦听器: on-touch="clickedOrTouched(4)" “触碰”事件似乎也支持鼠标点击 [编辑]-看起来我误解了你的问题。我认为您可以将侦听器添

我正在编写一个Angular应用程序,希望同时支持台式机/笔记本电脑和触摸设备

对于我正在实现的功能之一,我希望能够区分用户是否单击或触摸元素,并触发不同的处理程序


最简单的方法是什么?我正在考虑在服务器中执行用户代理检测,如果用户有触摸设备,则返回不同的JS文件,但这似乎很糟糕/过分。

我认为这把小提琴应该会给您一个好主意,特别是以下侦听器:

on-touch="clickedOrTouched(4)"

“触碰”事件似乎也支持鼠标点击


[编辑]-看起来我误解了你的问题。我认为您可以将侦听器添加到ngMousedown或nfMouseup事件中,以确定它是单击还是触摸我认为这把小提琴应该会给您一个好主意,特别是这些侦听器:

on-touch="clickedOrTouched(4)"

“触碰”事件似乎也支持鼠标点击


[编辑]-看起来我误解了你的问题。我想你可以在ngMousedown或nfMouseup事件中添加监听器,以确定它是点击还是触摸

事实上,仔细观察并摆弄一下小提琴,我认为这确实解释了分离功能的原因。棘手的部分是,对于鼠标来说,它是:mousedown->mouseup->click,而touch有各种各样的touchstart/touchmove/touchcancel/touchend,然后它也会触发点击。但我想我必须执行我自己的指令,以某种方式将其包装在一起。可惜没有现成的选项:PI不确定这是否对您有帮助,但在angularJS的较新版本(1.1.x开发分支,将成为angularJS 1.2)中,有一个名为ngTouch的新模块(最近从ngMobile重命名)。它支持各种触摸相关功能。查看位于的此模块的源代码。实际上,仔细查看并使用该小提琴,我认为它确实解释了分离功能的原因。棘手的部分是,对于鼠标来说,它会显示:mousedown->mouseup->click,而touch有各种各样的touchstart/touchmove/touchcancel/touchend,然后还会触发单击。但我想我必须执行我自己的指令,以某种方式将其包装在一起。可惜没有现成的选项:PI不确定这是否对您有帮助,但在angularJS的较新版本(1.1.x开发分支,将成为angularJS 1.2)中,有一个名为ngTouch的新模块(最近从ngMobile重命名)。它支持各种触摸相关功能。请在查看此模块的源代码。