jquery - 识别出现在指定位置的所有元素

标签 jquery css html

jQuery 中是否有任何方法可以选择位于特定位置的所有元素,例如选择位于 left:100 和 top:300 的元素,另一个 div 位于同一位置,单击我想获取 ID两个 Div?

如果我可以选择并定位在一系列位置的元素,那就太好了,

http://jsfiddle.net/simmi_simmi123/YjC6y/1908/

This Fiddle 但它只显示顶部 div 的 ID。

$(document).ready(function(){        
    $(document.body).bind('click', function(e){
        var elem = document.elementFromPoint(e.pageX, e.pageY);

        alert('you selected element id: ' + elem.id);
    });
});

最佳答案

试试我的 fiddle http://jsfiddle.net/YjC6y/1911/

它使用来自可能的重复代码,正如您在原始帖子中评论的那样:

$(document).ready(function(){        
    $(document.body).bind('click', function(e){
        var elems = GetAllElementsAt(e.pageX, e.pageY);

        elems.each(function() {
            alert($(this).attr('id'));
        });
    });
});

function GetAllElementsAt(x, y) {
    var $elements = $("body *").map(function() {
        var $this = $(this);
        var offset = $this.offset();
        var l = offset.left;
        var t = offset.top;
        var h = $this.height();
        var w = $this.width();

        var maxx = l + w;
        var maxy = t + h;

        return (y <= maxy && y >= t) && (x <= maxx && x >= l) ? $this : null;
    });

    return $elements;
}

这篇文章的主要作者@hunter:find elements that are stacked under (visually) an element in jquery

关于jquery - 识别出现在指定位置的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693771/

相关文章:

java - 通过 Rest Web 服务从服务器上的浏览器文件存储下载

html - CSS边框问题

javascript - Html 表格拆分列一分为二?

jquery - z-index 或 :hover sometimes work, 有时不是

javascript - 没有非法字符。没有单引号。没有双引号。但还是需要逃避

jQuery $(this) 选择器功能和限制

javascript - jQuery 淡入一个<li>?

javascript - JQuery 高亮插件,参数不知何故未定义

java - 我无法将 css 文件链接到我的元素

html - 如何在不触及 ul 部分的情况下将引导 slider 的内容居中?