Heim > Fragen und Antworten > Hauptteil
Es gibt viele Schaltflächen auf der Benutzeroberfläche. Das Eingabeaufforderungsfeld wird jetzt angezeigt, wenn die Maus hineinbewegt wird, und verschwindet, wenn die Maus herausgezogen wird. So ermitteln Sie, welche Schaltfläche das Einzugs- und Entfernungsereignis verursacht.
Kann ich direkt basierend auf dem Ringmenü vonwheelmenu.js schreiben?
过去多啦不再A梦2017-06-12 09:32:51
说实话我没看懂你到底是想问什么,一般来讲判断目标元素的方法常用的有两种:
一种是给每个按钮都绑定一个事件,这样每个相应事件对应的元素都是相对的。
第二种是通过事件委托来实现,通过e.target来确定具体是哪个按钮触发。
还有一种是像在canvas里这样的情况下,由于无法对canvas里的每个对象是否触发事件进行直接获取,你需要用观察者模式来判断鼠标位置是否在某个对象内部,至于检测是否在多边形内部的方法可以用射线法。
巴扎黑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)就可以操作这个鼠标所在的按钮
}
});