登录

javascript - 界面上有多个按钮,单击任意一个按钮都是都是弹出一个提示框,如何区分单击的是哪个按钮出现哪个属于自己的提示框呢呢?

界面上有很多的按钮 现在鼠标移入显示提示框 移出消失 怎么判断是哪个按钮的移入移除事件。
在wheelmenu.js环形菜单的基础上可以直接写吗?

# JavaScript
巴扎黑巴扎黑2145 天前769 次浏览

全部回复(5) 我要回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:32:51

    说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:

    一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。

    第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。

    还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。

    回复
    0
  • PHP中文网

    PHP中文网2017-06-12 09:32:51

    事件委托。根据e.terget来判断。或者用观察者模式,把独有的值当参数

    回复
    0
  • 欧阳克

    欧阳克2017-06-12 09:32:51

    一般的插件都會有callback函數,假如有,你可以重構callback
    對每個btn委託click事件,從而判斷是那個btn

    回复
    0
  • 巴扎黑

    巴扎黑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)就可以操作这个鼠标所在的按钮
        }
    });

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:32:51

    事件委托 evt.target

    回复
    0
  • 取消回复发送