Javascript 从附加事件列表中关闭所选事件处理程序

Javascript 从附加事件列表中关闭所选事件处理程序,javascript,jquery,Javascript,Jquery,我有一种情况,从第三方组件,我得到多个附加事件到一个元素 模拟如下所示 $('.myLink').on('click',function(){alert('1')}) $('.myLink').on('click',function(){alert('2')}) $('.myLink').on('click',function(){alert('3')}) 我可以使用 $._data( $('.myLink'), "events")) 现在,我只想使用索引关闭第二个事件处理程序。

我有一种情况,从第三方组件,我得到多个附加事件到一个元素

模拟如下所示

$('.myLink').on('click',function(){alert('1')})
$('.myLink').on('click',function(){alert('2')})
$('.myLink').on('click',function(){alert('3')})
我可以使用

$._data( $('.myLink'), "events"))     
现在,我只想使用索引关闭第二个事件处理程序。 i、 e.
警报('2')

请告诉我处理这个问题的方法

提前谢谢。

像这样的吗

$._data($('.myLink')[0], "events").click[1].handler()

要删除该事件,请执行以下操作:

$('.myLink').off("click", $._data($('.myLink')[0], "events").click[1].handler)

除了事件处理程序中的代码外,您是否有其他方法引用事件或事件处理程序?否,它来自第三方。所以,我没有任何控制权。你可以把这三个都去掉,如果情况更糟的话,再加上另外两个。。这个选项终于可以使用了,对我来说似乎很有用。但是有很多手动工作,也很难测试是的,我想离开这个处理器。“你能告诉我怎么做吗?”迪帕尔梅塔:啊,现在我明白你所说的下车了。我还以为你的意思是把它当火一样烧掉;P@DipalMehta:不客气。我一开始并没有得到你们的要求,但现在它有了意义:)是的,我想摆脱这个处理程序。你能告诉我怎么做吗?你为什么要这样做?
$('.myLink').on('click',function(){alert('1')})
$('.myLink').on('click',function(){alert('2')})
$('.myLink').on('click',function(){alert('3')})
//fetch all event attached to myLink
var a=$._data( $('.myLink')[0], "events") ;  
//call second event alert(2)
 a.click[1].handler();