【问题标题】:Why this pop up is not shown?为什么不显示此弹出窗口?
【发布时间】:2013-10-05 15:51:25
【问题描述】:

我遇到了一个非常简单的 JavaScript 弹出脚本问题。

我有这个示例页面:http://www.onofri.org/example/example4/

在此页面的末尾有一个包含一些标志的框,包括由 #reportEng div 表示的英国国旗(在 engLink 链接内) .

我想要的是当用户点击这个元素时会显示一条弹出消息。

所以我在页面中添加了这个简单的脚本:

<script>
    var test = document.getElementById('engLink');
    test.addEventListener('click', function() {
        alert('clicked');
    });
</script>

我把脚本放在页面的body部分而不是head部分,因为这只是一个测试页面,最终结果将被放入我无法访问模板的 CMS 页面(因此我无法将脚本放在 head 部分)。

问题是它不起作用。如果我点击英文标志,页面会重新加载,并且不会显示弹出窗口。

你能帮帮我吗?

谢谢,

安德烈亚

【问题讨论】:

    标签: javascript html xhtml popup


    【解决方案1】:

    我采用了完全不同的方法。 addEventListener 很酷,但我有点老了,而且我已经习惯了讨厌的习惯。这对我来说很好。

    <script>
    function myExample(){
        alert("BaZing!  It works!");
    }
    </script>
    

    对于 HTML 部分...

    <a href="" id="engLink"><div id="reportEng" onClick="myExample()"></div></a>
    

    我还想指出,这个“修复”有点禁忌(see here

    【讨论】:

    • 我把你的旧 JavaScript 留在了那里,并添加了我自己的函数。但如果这对你有用,我会删除你的旧代码并保留新功能(你可以删除我的 console.log(),这只是为了好玩)。
    • 没关系,我刚刚清理了它。强迫症开始了。=/。新编辑的代码就是你所需要的。
    • 顺便说一句,我下载了您的整个网页并在您的代码中对其进行了测试,它可以正常工作(这不是“虚拟”代码)。
    【解决方案2】:

    您不会阻止链接被关注,因此当您单击具有空href 的链接时,您只需重新加载当前页面。

    有很多方法可以防止默认链接行为,但这里是老派的方法:

    <a href="javascript:void(0);" id="engLink"><div id="reportEng"></div></a>
    

    另外,我认为在 HTML 或 XHTML 中 a 中不允许使用 div 元素。

    FIDDLE

    【讨论】:

    • 嗯,我已经尝试过你的建议,但仍然没有出现弹出窗口
    • mmm 我已经更新了我的测试页面,但仍然无法正常工作(在小提琴页面中运行良好,但我在头部(像往常一样)但在正文部分没有 JavaScript 脚本)。在这里你可以看到它不起作用:onofri.org/example/example4
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多