如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置

How to find out if a mouse-down event occurred on the scroll-bar or anywhere else in the element?

本文关键字:元素 位置 任何 其他 滚动条 鼠标 何查明 事件 是否      更新时间:2023-09-26

我有一个HTMLdiv,它用作包含许多对象的画布。

在这个画布中,用户可以用鼠标绘制一个矩形来选择对象。我的实现中有一个缺陷:如果画布太大,出现滚动条,拖动滚动条也会绘制一个选择矩形。

区分滚动条上的鼠标向下和组件上其他任何位置的鼠标向下的好方法是什么?

编辑:我不是在问如何删除滚动条。需要时我需要它们

编辑:这里有一个最小的小提琴来重现我正在处理的问题:http://jsfiddle.net/jUe8T/

小提琴非常有用,就像你在使用<canvas>元素一样。。。我想这就是你想要的:http://jsfiddle.net/jUe8T/1/

我通过向$('#canvas')添加一个.scroll事件来完成此操作,upHandler作为处理程序,如下所示:

$('#canvas').scroll(upHandler);