【问题标题】:How can I get the function of a event (debuging jquery) [duplicate]如何获得事件的功能(调试jquery)[重复]
【发布时间】:2013-05-30 08:30:44
【问题描述】:

例如我有:

<a href="" id="#activador">asdasd</a>
...
//js code in other place or other file hard to find, I have this:
$('#activador').click(simplefunction);       or
$(document).on('click','#activador',simplefunction);     or
$('#activador').live('click',simplefunction);

function simplefunction(){
alert('hello');
}
...

如何查找html('#activador')是否附加了函数,如何查找元素('#activador')会触发什么函数?

我知道使用

var clickEvents = $('#activador').data("events").click;

但我不能使用这样的东西:

var clickEvents = $('#activador').data("events").on; or 
var clickEvents = $('#activador').data("events").live;

【问题讨论】:

  • 实际上,我不确定这里要问什么,因为即使您使用 on.click 也会为您提供该功能。
  • 不出现,什么时候出现.on('click','#activador',simplefunction);我使用: clickEvents = $('#activador').data("events").click;出现无法读取 chrome 上未定义的属性“点击”谢谢

标签: javascript jquery


【解决方案1】:

您可以使用 _data 函数找出与该元素关联的事件,

console.log($._data($('#activador'), "events").click);

【讨论】:

  • 谢谢,我已经放了该代码,但出现了:未捕获的类型错误:无法读取未定义的属性“点击”(匿名函数)只有当我使用时才能获得附加的函数:$('#activador' ).click(简单功能);和 var clickEvents = $('#activator').data("events").click;但使用 'on' 或 live 会出现相同的错误
  • @dexter00x 你用的是哪个版本的jQuery?
  • 1.7.1,你认为应该使用最新版本来完成这项工作吗?
  • 我用 1.10.1 进行了测试,但相同,使用 console.log($._data($('#activador')[0], "events").click);仅适用于: $('#activador').click(simplefunction);但不是: $(document).on('click','#activador',simplefunction);或 $('#activador').live('click',simplefunction);
  • live 函数实际上在 jQuery 中已被弃用,使用 bind 代替
猜你喜欢
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
相关资源
最近更新 更多