-1

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

4

4 回答 4

9

像这样?

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

这将捕获文档中的所有点击并记录事件开始的节点。这有点像大锤的方法,但是在不了解问题的情况下,这是我能做的最好的事情。

于 2012-04-24T13:20:44.787 回答
1

好吧,您可以执行以下操作:

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

但是,您将遇到我想象的各种传播问题,而且我不知道是否所有 dom 元素都响应该.click()事件。

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

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

你到底想完成什么?

于 2012-04-24T13:22:30.127 回答
0

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

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

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

于 2012-04-24T13:22:43.413 回答
0

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

http://jsfiddle.net/WkNPg/

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

});

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

于 2012-04-24T13:25:48.593 回答