【问题标题】:How to prevent selection of canvas on a long touch/ taphold using HTML5 / Javascript?如何防止使用 HTML5 / Javascript 在长按/点击时选择画布?
【发布时间】:2012-07-21 15:48:50
【问题描述】:

我正在使用 Kinetic.js 库来处理我的触摸事件和其他与 HTML5 手机游戏相关的画布对象。该库提供了访问所有事件的简单界面,但是它没有用于捕获长触摸/点击事件的句柄。 我的游戏要求用户按住键才能继续开火,但这会选择整个画布,这需要额外单击才能取消选择,这在重复执行时会变得很烦人。 我查看了this 的讨论,但那里没有接受任何解决方案。

【问题讨论】:

  • e.preventDefault() 在我自己的对象中(使用库)事件处理程序没有帮助

标签: javascript html html5-canvas kineticjs


【解决方案1】:

event.preventDefault() 用于防止浏览器的默认行为,而 event.stopPropagation() 用于防止竞争事件处理程序触发。 对于 IE:window.event.cancelBubble = true

尝试使用 stopPropagation()

获取你可以做的事件:

 function(e) {
   var event = e || window.event;
   event.preventDefault();
   event.stopPropagation();
   // more code
 }

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 2022-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    相关资源
    最近更新 更多