Javascript 忽略EventListener的某些链接 更新

Javascript 忽略EventListener的某些链接 更新,javascript,iphone-standalone-web-app,iphone-web-app,Javascript,Iphone Standalone Web App,Iphone Web App,用户昆汀帮我解决了这个问题。lightbox有一个事件。stopPropagation()。拆下后,链接工作正常 我将此评论与honyovk的添加一起使用,以更优雅的功能取代StopRopagation: 问题: 我有一个iOS版的webapp,在其中我使用EventListener阻止在Safari中打开链接。这对99%的链接来说是完美的,但有几个特定的链接仍然在Safari中打开,原因我不知道 这是我的Javascript: // Mobile Safari in standalone m

用户昆汀帮我解决了这个问题。lightbox有一个
事件。stopPropagation()。拆下后,链接工作正常

我将此评论与honyovk的添加一起使用,以更优雅的功能取代StopRopagation:


问题: 我有一个iOS版的webapp,在其中我使用EventListener阻止在Safari中打开链接。这对99%的链接来说是完美的,但有几个特定的链接仍然在Safari中打开,原因我不知道

这是我的Javascript:

// Mobile Safari in standalone mode
if(("standalone" in window.navigator) && window.navigator.standalone){

    // If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true
    var noddy, remotes = false;

    document.addEventListener('click', function(event) {

        noddy = event.target;

        // Bubble up until we hit link or top HTML element. Warning: BODY element is not compulsory so better to stop on HTML
        while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") {
            noddy = noddy.parentNode;
        }

        if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes))
        {
            event.preventDefault();
            document.location.href = noddy.href;
        }

    },false);
}
在webapp中无法打开的链接没有什么特别之处,页面上的其他链接工作正常。链接工作不正常的示例:

<a href="upgrademine.php?m=green" class="button bgreen">Buy</a>

这个链接是在一个lightbox中打开的,但在其他页面上,我也在lightbox中有类似的链接,它们工作正常。我有几个弹出窗口有大致相同的链接,只有“绿色”不同,还有一些弹出窗口有一个额外的“&time=1”,它们都无法在webapp中打开


是否有人能找出这段代码的错误?

您可能有一些代码停止传播,但您还没有足够的证据来说明。我确实有代码停止传播,现在您已经提到了!我有一个
函数noclick(event){event.stopPropagation();}我的灯箱的某个地方,这可能是原因吗?我对javascript很陌生。是的。这就是event.stopPropagation
的要点。灯箱有一个黑色背景,当点击时会关闭灯箱。我在带有实际灯箱内容的div上使用了
event.stopPropagation
,以防止在单击该内容中的任何内容时灯箱关闭。有没有办法只适用于该部门而不适用于儿童?删除“单击背景时关闭”代码而不是试图阻止它被触发似乎更有意义。不过,我只需要正常的功能。