界面上有很多的按钮 现在鼠标移入显示提示框 移出消失 怎么判断是哪个按钮的移入移除事件。
在wheelmenu.js环形菜单的基础上可以直接写吗?
过去多啦不再A梦2017-06-12 09:32:51
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
巴扎黑2017-06-12 09:32:51
委托
把事件写在一个容器里面,如p
<p id="pButtons">
<p>
//这里面放你的按钮些
</p>
</p>
//写移动事件,把事件写在外层容器,不用考虑异步加载的问题
$('#pButtons').mousemove(function(e){
e=e||window.event;
//该对象为鼠标移动的时候,拿到的节点
var target=e.target||e.srcElement;
//判断该节点是否为按钮,节点名为大写
if(target.nodeName=='BUTTON'){
//$(target)就可以操作这个鼠标所在的按钮
}
});