扫码关注官方订阅号
界面上有很多的按钮 现在鼠标移入显示提示框 移出消失 怎么判断是哪个按钮的移入移除事件。在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
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数
一般的插件都會有callback函數,假如有,你可以重構callback
對每個btn委託click事件,從而判斷是那個btn
委托
把事件写在一个容器里面,如
p
事件委托 evt.target