javascript - Google Chrome 中的 MouseUp 和 MouseDown 事件

标签 javascript google-chrome canvas jquery

我有一个简单的 html5/canvas 和 js-setup:

HTML

<canvas id="canvas" width="500" height="500" ></canvas>

JS

var canvas = $("#canvas"),
    c = canvas[0].getContext("2d");

c.fillStyle = "gray";
c.fillRect(0, 0, 500, 500);

$(document).mousedown(function() {
    console.log('down');
});
$(document).mouseup(function() {
    console.log('up');
});

令我兴奋的是我能够像这样使用 google chrome 记录事件

down
up
down
up
down 
down 
down 
down
up
down
down
down

意思是,我收到连续的向下事件。我认为这是由 canvas 元素引起的,因为没有它我无法重现此行为。

这是一个 fiddle :http://jsfiddle.net/SunnyRed/zcmaT/

更新

我认为只有当用户单击并拖动时才会发生这种情况,在我的场景中可能就是这种情况。这里是一个简单的点击demo 。我无法在 Firefox 和 Opera 中重现它。

最佳答案

我可以在您的演示中复制此内容的唯一方法是:

  • 在页面外部(在 JS fiddle 的另一个 iframe 中)开始单击,然后将鼠标放在 Canvas 上。或者
  • 开始在 Canvas 上单击,然后将其释放到页面边界之外(例如在页面内边距上方)。

我相信这是正确的行为。

关于javascript - Google Chrome 中的 MouseUp 和 MouseDown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469694/

相关文章:

javascript - 返回结果作为 Typescript 中的 promise

javascript - 复制图片网址到输入

javascript - jQuery:同时设置元素位置和不透明度的动画

.net - 使用 AJAX 检测 Chrome 浏览器

javascript - Canvas 动画

javascript - 使用javascript绘制面向对象的lineTo

javascript - 如何使用 jQuery 根据事件确定 HTML 输入元素类型?

android - 设置 Chrome 自定义标签时出现 "Please install Android Support Repository"警告

javascript - 如何在javascript中检查鼠标指针是顺时针还是逆时针移动

javascript - 使用 Mapbox 读取本地 geojson 文件