搜尋

首頁  >  問答  >  主體

javascript - 介面上有多個按鈕,點擊任何一個按鈕都是都是彈出一個提示框,如何區分點擊的是哪個按鈕出現哪個屬於自己的提示框呢?

介面上有很多的按鈕 現在滑鼠移入顯示提示框 移出消失 怎麼判斷是哪個按鈕的移入移除事件。
在wheelmenu.js環形選單的基礎上可以直接寫嗎?

巴扎黑巴扎黑2725 天前1100

全部回覆(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
  • 取消回覆