获取原始目标的最佳方法

什么是jQuery和/或最佳实践方式获取jQuery中的事件的原始目标(或通常在浏览器JavaScript中)。

我一直在使用这样的东西

$('body').bind('click', function(e){
        //depending on the browser, either srcElement or 
        //originalTarget will be populated with the first
        //element that intercepted the click before it bubbled up
        var originalElement = e.srcElement;
        if(!originalElement){originalElement=e.originalTarget;}                         
});

哪些工作,但我不喜欢两行功能嗅探。 有没有更好的办法?


你可以用var originalElement = e.srcElement || e.originalTarget;在一行中var originalElement = e.srcElement || e.originalTarget; var originalElement = e.srcElement || e.originalTarget; 但它不是很漂亮的JQuery ;-)

[编辑:但根据http://docs.jquery.com/Events/jQuery.Event#event.target event.target可能会做...]


我相信e.target是你需要的

$('body').bind('click', function(e){
                e.target // the original target
                e.target.id // the id of the original target                                               
});

如果你去Action网站的jQuery并下载源代码,请看看

  • 第4章 - dom.2.propagation.html
  • 它处理事件与泡泡和捕捉处理程序的传播


    使用event.originalTarget可能导致“权限被拒绝访问属性'XYZ'从非铬上下文” - 错误,所以我建议使用以下内容:

    var target = event.target || event.srcElement || event.originalTarget;
    

    event.target适用于Firefox,Opera,Google Chrome和Safari。

    链接地址: http://www.djcxy.com/p/2411.html

    上一篇: Best way to get the Original Target

    下一篇: Check if object is a jQuery object