首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript onclick ontouch

Javascript onclick ontouch
EN

Stack Overflow用户
提问于 2018-05-22 12:19:50
回答 1查看 379关注 0票数 0

我想提供非常有限的可能性,在html画布,在任何设备上。当用户交互时,只能发生三件事:一个“单元”(例如,它可能是40 be,或者10,它不是很重要)方方出现在没有任何位置,一个矩形在“单击”时消失,最后,几个矩形被融合。

前两个需要点击来检测(相同的向下和向上坐标),后者需要一个拖动来检测(不同的向下和向上坐标)。

因此,应用程序唯一需要做的就是检测(并记住)下来,然后向上坐标,无论是触摸,点击,或任何东西。

最后,我不希望使用jquery或任何lib,而是从我的代码中学到一些东西。

为了这个目的,这段代码看起来可以吗?你能提议改进吗?

代码语言:javascript
复制
canvas.ontouchstart = canvas.onmousedown = onDown;
function onDown(e) {
  saveDownCoords(e);
  e.preventDefault();
};
canvas.ontouchend = canvas.onmouseup = onUp;
function onUp(e) {
  ...do whatever;
};

第二个问题,关于preventDefault()、stopPropagation() (或者其他什么):我读过它是为了阻止事件两次注册,比如触碰和点击--但是在哪种情况下和设备,准确地说,触摸事件然后单击events来触发一个独特的用户物理操作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-22 12:30:07

对于第一个问题,最好使用element.addEventListener()https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

代码语言:javascript
复制
canvas.addEventListener("mouseup", function(event) {
    event.preventDefault(); // If you need to
    // ... Do whatever
}

至于第二个问题,event.preventDefault()调用是用来停止默认行为的。例如,它可以用来防止双击选择文本。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50467512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档