所以使用这段代码,我想显示一个叠加层,.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");
});
}
答案 0 :(得分:0)
编辑:正如@Rory McCrossan指出的那样,这非常等同于你的符号;这很好。
方法.click()
是在元素上注册click事件侦听器的简写。你想要做的是:
$(elInfoLink).parent().click(function (e) {
$(elInfoLink).trigger('click');
});
答案 1 :(得分:0)
从有限的代码开始,看起来没有"部分执行"这里。
我会重新检查是否将类mg-show-info
添加到正确的元素(如果正确选择了该元素)并且加载了相关的CSS。