Javascript 如何检查jQuery中是否已经存在相同的事件处理程序

Javascript 如何检查jQuery中是否已经存在相同的事件处理程序,javascript,jquery,Javascript,Jquery,如果两个不同的进程向元素添加一个单击处理程序。这两个处理程序都是必需的。 我要做的是检查其中一个处理程序是否已经存在 我可以使用: $._data(ele, "events") 获取一个元素上的所有事件,但如何知道我想要的是哪个单击事件处理程序 ele.click(handler1); ele.click(handler2); var handlers = $._data(ele,get(0), "events"); if (*some code t

如果两个不同的进程向元素添加一个单击处理程序。这两个处理程序都是必需的。 我要做的是检查其中一个处理程序是否已经存在

我可以使用:

$._data(ele, "events")
获取一个元素上的所有事件,但如何知道我想要的是哪个单击事件处理程序

ele.click(handler1);
ele.click(handler2);

var handlers = $._data(ele,get(0), "events");

if (*some code that finds if handler1 is already there*)
  ...

使用jQuery 2.1.4(无法更改)。

查找特定的处理程序

consthandleris=($ele,handler,func)=>{
常量事件=$。_数据($ele.get(0),“事件”);
func=func.toString();
返回事件&&
事件[handler]?.some(ev=>ev.handler.toString()==func);
};
常量$ele=$(“按钮”);
const clicked=()=>警报(“clicked”);
$ele.on(“单击”,单击)
$ele.on(“单击”,单击)
如果(手柄($ele,“click”,clicked)){
log(`click clicked exists on${$ele.get(0.tagName}`);
}


鼠标悬停或单击
查找特定的处理程序

consthandleris=($ele,handler,func)=>{
常量事件=$。_数据($ele.get(0),“事件”);
func=func.toString();
返回事件&&
事件[handler]?.some(ev=>ev.handler.toString()==func);
};
常量$ele=$(“按钮”);
const clicked=()=>警报(“clicked”);
$ele.on(“单击”,单击)
$ele.on(“单击”,单击)
如果(手柄($ele,“click”,clicked)){
log(`click clicked exists on${$ele.get(0.tagName}`);
}


鼠标悬停或单击
理想情况下您会使用。理想情况下您会使用。不,我指的是两个“单击”处理程序。不是一次点击和一次鼠标浏览更新…仍然不是我想要的。它将有两个单击处理程序。两者都是不同的,都是需要的。我如何检查它是否有其中一个。换句话说,我如何检查它是否有第一个处理程序,以及如何检查它是否有第二个处理程序-而不是它是否有任何单击处理程序查看我添加的示例这更好-谢谢,我不是说两个“单击”处理程序。不是一次点击和一次鼠标浏览更新…仍然不是我想要的。它将有两个单击处理程序。两者都是不同的,都是需要的。我如何检查它是否有其中一个。换句话说,我如何检查它是否有第一个处理程序,以及如何检查它是否有第二个处理程序-而不是它是否有任何单击处理程序查看我添加的示例更好-干杯