关闭附加事件列表中的选定事件处理程序

时间:2014-02-24 16:35:18

标签: javascript jquery

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

模拟类似于以下内容。

$('.myLink').on('click',function(){alert('1')})
$('.myLink').on('click',function(){alert('2')})
$('.myLink').on('click',function(){alert('3')})

而且,我可以使用

查看附加事件列表
$._data( $('.myLink'), "events"))     

现在,我只想使用索引关闭第二个事件处理程序。 即alert('2')

请让我知道处理此问题的方法。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这样的东西?

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

Fiddle sample

要删除事件,请说:

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

答案 1 :(得分:0)

$('.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();

http://jsfiddle.net/9RMn5/