右键弹出菜单的定位有关问题

右键弹出菜单的定位问题

现在做的项目中有一个功能是在创建的一个类似word document map的目录上右键时弹出菜单,弹出的菜单正好在鼠标单击事件发生的位置,这就存在了这个菜单的定位问题。

这个功能我首先是从ztree的一个右键功能例子中拷贝过来的,在ztree的例子中运行的好好的,但是粘贴到自己的页面中就怎么定位都不行,研究了很长时间,后来发现这个东西跟我的页面中的父层div的position属性有关,去掉position属性,运行可以成功,但是只要拖动滚动条就又不行了,反复研究最后才研究出问题所在,不禁调侃一句“这些小问题可别想考验强迫人的执着精神”,哈哈~

右键菜单是一个最初隐藏的,position为absolute的div,通过设置css的top和left属性完成定位,但是有个问题是,它会相对于最近的position为relative的父层div进行定位,若没有的话就相对于body定位了。我的页面中ztree外层有两个position为relative的父层div。最开始我按照ztree例子中那样做的,以event.clientX,event.clientY