84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
界面上有很多的按钮 现在鼠标移入显示提示框 移出消失 怎么判断是哪个按钮的移入移除事件。在wheelmenu.js环形菜单的基础上可以直接写吗?
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数
一般的插件都会有callback函数,假如有,你可以重构callback对每个btn委托click事件,从而判断是那个btn
委托
把事件写在一个容器里面,如p
p
//这里面放你的按钮些
//写移动事件,把事件写在外层容器,不用考虑异步加载的问题 $('#pButtons').mousemove(function(e){ e=e||window.event; //该对象为鼠标移动的时候,拿到的节点 var target=e.target||e.srcElement; //判断该节点是否为按钮,节点名为大写 if(target.nodeName=='BUTTON'){ //$(target)就可以操作这个鼠标所在的按钮 } });
事件委托 evt.target
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数
一般的插件都会有callback函数,假如有,你可以重构callback
对每个btn委托click事件,从而判断是那个btn
委托
把事件写在一个容器里面,如
p
事件委托 evt.target