我有一个包含15x15表格的HTML网页,当你在div上按住鼠标左键时,我还有一个小方形div跟随鼠标。
我已经为15x15表分配了一个onmouseover事件,这样当鼠标悬停在一个单元格上时,一个名为“gridPlacement”的变量被设置为鼠标悬停在其上的表格单元格的唯一ID值。
onmouseover事件似乎工作正常,只要您将鼠标悬停在单元格上,变量“gridPlacement”就会设置为单元格的id。
但是当onmousedown和onmousemove事件被触发时(当鼠标按下并按住我前面提到的div上的鼠标左键时),有时当你将鼠标悬停在一个单元格上时,变量“gridPlacement”没有设置,有时候你必须将鼠标移动到单元格几次才能工作。
似乎onmousedown和onmousemove事件似乎对我15x15桌上的onhover事件产生了影响。
有人知道为什么会这样,以及我如何解决这个问题?
我希望你理解我,我尽力解释我的问题。
问题解决了!
更改用户拖动元素的偏移量就可以了,谢谢大家的帮助! :)
答案 0 :(得分:2)
你问到的问题发生了,因为按下按钮后div就在你的鼠标下面,所以你实际上并没有悬停在单元格上(至少那是我从你的描述中得到的)。一个解决方法是在你退出某个单元格时设置所需的变量(onmouseout),但这对你没有帮助,因为我想你想知道你已经结束的女巫单元,所以我想你可以得到鼠标位置并比较它到了细胞的位置......除非你得到更好的答案,因为这有点......不那么容易。
答案 1 :(得分:2)
我认为zozo是正确的。我遇到了类似的问题,我使用的解决方法是更改鼠标后面元素的偏移量,使其不会直接出现在鼠标下方(可能是侧面/上方/下方或其他东西的几个像素)。
希望这有帮助。