2013-08-28 16 views
0

给定一个元素,有没有什么方法可以用Javascript/jQuery来判断这个元素是否有点击事件?有没有办法通过编程来告诉单击元素是否会产生任何效果?

我的意思是任何点击事件。如果点击它会导致任何代码执行,我想知道它。

这可能吗?

它必须是,如果萤火虫和Chrome开发工具可以看到所有的事件监听器绑定到一个对象...

+0

你需要什么为了? – zerkms

+0

仍然需要解释你更详细的回答。这是不可理解的。 –

+0

可能的工具提示,正确使用Title标签? –

回答

0

有一个名为VisualEvent脚本,做你想要的工作。你可以看看它的代码,看看那里发生了什么。

1

要获得连接到特定元素的jQuery的事件列表使用

​$._data($("#yourelement")[0], "events"); 
+0

http://jsfiddle.net/A7Pcq/1/ - 无法使用 – zerkms

+0

@zerkms将您的小提琴代码替换为正确的代码$('div')。on('click','span',function(){ alert('handler'); }); console.log($。_data($(“#hello”)[0],“events”));和你的HTML作为

click me
我能够在控制台 –

+0

中查看结果,点击处理程序被委托给'span',而不是'div'。所以你的改变是不正确的。把'id =“hello”'放到'span'中,看看它不起作用 – zerkms

0

http://jsfiddle.net/jvcDV/

HTML:

<a id="p1">I am link 1</a> 
<a onclick="javascript:alert('hi');">I am link 2</a> 
<a>I am link 3</a> 
<a>I am link 4</a> 

JS:

$(document).ready(function() 
{ 
    // Add inline event to a link element 
    document.getElementById('p1').onclick = function() { alert('hi'); }; 
    $('a').each(function() 
    { 
     if(this.onclick == null) 
     { 
      alert("Link " + this.innerText + " does not have a onclick event"); 
     } 
     else 
     { 
      alert("Link " + this.innerText + " does have a onclick event"); 
     } 
    });    
}); 
+0

这个怎么样:http://jsfiddle.net/jvcDV/2/? – zerkms

相关问题