在我的项目中,我有一个显示 html 页面的 WebView
。在那个使用 javascript 的 html 页面中创建了热点,以便点击热点通知弹出。在我的 native 代码中实现了 onTouchListener
像 this 。现在我真正需要的是,OnTouchListener
不能工作或不应该采取触摸事件热点。
任何人都可以帮我解决这个问题吗?
最佳答案
现在,我可能有这个倒退......但从你的问题听起来你 不希望 onTouchListener
在热点被触摸时生效......只有在热点之外的区域被触摸时。如果情况相反,只需反转下面的条件。
好的。当触摸发生时,您的 onTouchListener
会被传递一个包含触摸细节的事件对象......特别是 clientX
和 clientY
,它们代表触摸本身的坐标。
在这个监听器中,如果上面的触摸坐标不在您的热点中,您将只执行所需的代码。如果是我,我会将每个热点建模为一个正方形,其中 x1
、 x2
、 y1
和 y2
代表 Angular 点的坐标。然后监听器在热点上循环检查( clientX
在 x1
和 x2
之间,并且 clientY
在 y1
和 y2
之间)。如果在循环中的任何点此条件为真,则您的触摸发生在热点内,因此您的监听器应返回 false 或以其他方式退出而不执行您的特殊代码。
编辑 :我想我误解了你的问题。也许你根本就没有问过 JavaScript ......
关于javascript - 在html页面的一些热点禁用onTouchListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10814206/