OnClick事件 – 检查哪个是发件人

每次点击我的页面上的某些内容(无论是控件还是其他内容)时,是否有办法调用一个事件,然后在该函数中检查哪个是发件人?

像这样?

$(document).click(function(e) { console.log(e.target); }); 

这将捕获文档中的所有点击,并记录事件开始的节点。 这是一个大锤的方法,但没有理解问题,这是我能做的最好的。

那么你可以这样做:

 $(function(){ $('*').click(function(){ var $sender = $(window.event.target); }); }); 

但是,你会想到各种各样的propegation问题,而且我不知道所有dom元素是否都响应.click()事件。

最好用类名标记您想要点击的所有项目,因此它变为:

 $(function(){ $('.clickable').click(function(){ var $sender = $(window.event.target); }); }); 

你想要完成什么?

您可以识别被点击的项目。 以下脚本将处理页面中的所有标记。

 $(function(){ $("a").click(function(e){ // e.preventDefault(); prevent default behaviour if needed alert("Invoked from "+$(this).attr("id")); }); });​ 

工作样本: http : //jsfiddle.net/yBfUq/2/

确实,虽然我想不出任何理由你会想要这样做吗?

http://jsfiddle.net/WkNPg/

 $(document).ready(function() { $("body *").click(function(event){ alert($(this).attr('id')); }) }); 

这会提醒身份证,但您可以根据“发件人”进行任何您想要的操作。