如何在Javascript中捕获鼠标项?

如何在Javascript中捕获鼠标项?,javascript,prototypejs,Javascript,Prototypejs,有谁能帮助我,当鼠标从左边或右边进入Javascript中的特定区域时,如何抓住该事件?我有坐标代码,但这并不能解决我的问题。对于x,y坐标,我使用这段代码 tempX = e.pageX tempY = e.pageY 提前感谢您走对了方向 使用 它获取鼠标在文档上的X和Y坐标 我会检查X是否小于10,以留出一点错误空间,然后根据从左侧输入的代码运行代码,并确保您设置了一个正在处理它的标志,否则您将对同一个处理程序进行多次调用 右侧有点棘手,因为您需要知道屏幕有多宽,然后在右侧添加一点错误。

有谁能帮助我,当鼠标从左边或右边进入Javascript中的特定区域时,如何抓住该事件?我有坐标代码,但这并不能解决我的问题。对于x,y坐标,我使用这段代码

tempX = e.pageX
tempY = e.pageY

提前感谢

您走对了方向

使用

它获取鼠标在文档上的X和Y坐标

我会检查X是否小于10,以留出一点错误空间,然后根据从左侧输入的代码运行代码,并确保您设置了一个正在处理它的标志,否则您将对同一个处理程序进行多次调用

右侧有点棘手,因为您需要知道屏幕有多宽,然后在右侧添加一点错误。

您可以尝试此方法(可能不是一种优化方法):

在页面的左侧和右侧都有一个隐藏/不可见的div。就像一条长长的带子,覆盖了整页。一旦在这些div上触发鼠标悬停事件,就可以在相应的情况下使相应的标志为true

因此,如果leftFlag为true-->请执行必要的操作

做类似的righFlag练习

注意:
使不透明度非常低(不透明度:.01)会使div不可见。事件也会被触发。

问题被标记为prototypejs,prototypejs是prototypejs框架,“pointerX”和“pageX”之间有什么区别(除了第一个是Prototype.js属性,第二个是标准javascript)?请注意,OP已在使用pageX。
pageX
可能无法跨浏览器使用-PrototypeJS的
pointerX()
使其跨浏览器使用,并可用于PrototypeJS支持的所有浏览器。例如,只有IE9和更高版本支持
pageX
,除非您处于受控环境中,否则您不能忽略IE8用户。嗨,极客,谢谢您的帮助,我同意您的答案,但我认为rai.skumar答案适合当前情况,因为如果我用鼠标输入与我的代码(X(129323)Y(152482))中相同的坐标,它总是调用我的代码。当我从右边或左边,顶部或底部来时,我必须在左边或右边设置一些隐藏的字段,比如div,当用户悬停在那个区域时,我的代码运行,不是吗?您的建议。感谢您的帮助Hidden div不获取鼠标事件,但即使在左右两侧有一个可见的“border”div,也请记住,用户可以非常快速地移动鼠标,使其在逻辑上越过“border”div,但实际上是“border”没有收到mousemove事件。很抱歉,rai JS事件无法处理隐藏字段,如div。感谢您的建议Yeah hide将无法按照@nnnn的建议工作。尝试将不透明度设置为非常低(不透明度:.01)。这样就行了。是的,它行得通,但也占用了区域,我不想这样,因为在一个页面中,我有多个区域,我把这个div放在那里,这会干扰我的布局。还有其他选择吗?你可以通过改变z-索引将一个div放在另一个div的上面。通过使z-index非常高(如999),使此div浮在其他div之上。任何可能的解决方案都只有在鼠标移动相对缓慢时才起作用,否则您只能从指针路径接收到几个点,并且不可能恢复完整路径并找到其方向。
​document.observe("mousemove",function(e){
    console.log("X: "+e.pointerX()+", Y: "+e.pointerY()); 
});​​​​​​​​​​​​​