Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 hammer.js-如何注册;持有;事件,但不传播“事件”;点击";事件_Javascript_Jquery_Hammer.js - Fatal编程技术网

Javascript hammer.js-如何注册;持有;事件,但不传播“事件”;点击";事件

Javascript hammer.js-如何注册;持有;事件,但不传播“事件”;点击";事件,javascript,jquery,hammer.js,Javascript,Jquery,Hammer.js,我想注册一个保持事件,但是“跳过”这个元素及其父元素上“单击”事件背后的逻辑。。。我该怎么做 测试用例(请随意选择和编辑): 用例:用户按住#foo框打开一个#bar对话框,其中包含该元素的选项。单击任意位置(但在#栏上)可关闭#栏。目前,按住#foo会打开#条,但松开按钮后会立即将其关闭。Hammer.js不会真正处理本机事件。因此,在这里,您应该收听点击事件,而不是点击 我认为如果手势是按住,则不会触发轻触事件,但如果触发,则只需调用e.sirpose.stopDetect()以防止触发多个

我想注册一个保持事件,但是“跳过”这个元素及其父元素上“单击”事件背后的逻辑。。。我该怎么做

测试用例(请随意选择和编辑):


用例:用户按住#foo框打开一个#bar对话框,其中包含该元素的选项。单击任意位置(但在#栏上)可关闭#栏。目前,按住#foo会打开#条,但松开按钮后会立即将其关闭。

Hammer.js不会真正处理本机事件。因此,在这里,您应该收听
点击
事件,而不是
点击


我认为如果手势是按住,则不会触发轻触事件,但如果触发,则只需调用
e.sirpose.stopDetect()以防止触发多个手势类型。(例如,这通常用于防止在
刷卡后触发
释放
事件)

无法防止触发本机单击。你应该听“点击”而不是“点击”。Hammer.js将hold定义为持续超过一定时间的敲击

如果您根本没有在监听“click”,但想阻止某个href或按钮被触发,请忘记它。更改div的按钮和普通文本的href,设置它们的样式,使它们看起来像以前一样,现在收听“点击”按钮。


包裹在父级

?@RobertRozas我认为他们希望保留定期单击的单击功能,但不希望在等待事件后触发它。@Robert Rozas:Anthony Grist是对的,我希望此用户操作只触发“等待”(而不是单击),虽然我仍然希望在不是等待事件时单击。不确定是否有更优雅的方式,但您可以这样做:@AnthonyGrist现在我明白了…顺便说一句,解决方案不错。