我想知道是否有办法在 javascript/jquery 中鼠标悬停时同时触发 2 个 div 上的事件(如果它们位于同一位置但 z 索引不同)?
示例:
like in this example http://imageshack.com/a/img849/8684/k8jn.jpg
最佳答案
考虑使用elementFromPoint()
方法:
DEMO jsFiddle {如果使用包装的 iframe 和 scolling body 的 iframe,请注意错误}
$divs = $("#one, #two").on('click.passThrough', function (e, ee) {
var $el = $(this).hide();
try {
if (!ee) $("#msg").empty();
$("<div/>").append($el.text()).appendTo($("#msg"));
ee = ee || {
pageX: e.pageX,
pageY: e.pageY
};
var next = document.elementFromPoint(ee.pageX, ee.pageY);
next = (next.nodeType == 3) ? next.parentNode : next //Opera
$(next).trigger('click.passThrough', ee);
} catch (err) {
console.log("click.passThrough failed: " + err.message);
} finally {
$el.show();
}
alert('div cliked: #' + this.id);
});
关于javascript - 鼠标悬停时同时在 2 个 div 上发生事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22129159/