所以有了这一点的代码,我想要显示覆盖,.mg-show-info。 elInfoLink的点击功能按计划运行。现在我应该让它的父母可以点击,因为已经有另一个事件了,我想我会按照你在这里看到的那样去做。现在通过单击父项,它的子项的功能被调用,并且console.log有效,但是叠加层不显示。 为什么?代码只是部分执行
var elInfoLink = tile.querySelector('.info-link');
if (elInfoLink) {
$(elInfoLink).parent().click(function (e) {
$(elInfoLink).click();
});
$(elInfoLink).click(function (e) {
e.preventDefault();
e.stopPropagation();
var mg = document.querySelector('#mg');
mg.classList.add('mg-show-info');
mg.dataset.memoryOverlayShowId = tile.dataset.id;
console.log("foo");
});
}
我想它与你的代码块中的e.stopPropagation();有关。它会停止事件传播,从而不会到达父级。 –
[jquery中的e.stopPropagation()在锚标签上工作的可能重复](http://stackoverflow.com/questions/8952176/does-e-stoppropagation-in-jquery-works-on-anchor-tag) –
@SwashataGhosh他需要'e.stopPropagation'。如果它被删除,你将在父母 - >孩子 - >父母的事件循环中...' – Rajesh