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
<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