界面上有很多的按钮 现在鼠标移入显示提示框 移出消失 怎么判断是哪个按钮的移入移除事件。在wheelmenu.js环形菜单的基础上可以直接写吗?
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数
一般的插件都会有callback函数,假如有,你可以重构callback对每个btn委托click事件,从而判断是那个btn
委托
把事件写在一个容器里面,如p
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)就可以操作这个鼠标所在的按钮 } });
事件委托 evt.target
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数
一般的插件都会有callback函数,假如有,你可以重构callback
对每个btn委托click事件,从而判断是那个btn
委托
把事件写在一个容器里面,如
p
事件委托 evt.target