如果javascript被禁用,则移动链接页面或显示弹出窗口

If javascript is disabled move the linked page orelse show a popup

本文关键字:显示 窗口 链接 移动 javascript 如果      更新时间:2023-09-26

我为禁用javascript的浏览器编写了这个脚本。

这是HTML:

<a href="http://www.google.com/" onClick="jstest();">Google</a>

这是Javascript:

<script type="text/javascript">
    function jstest() {
    alert("Success");
    // show popup
    return false;
    };
</script>

如果启用了javascript,它应该会提示一个显示成功的弹出窗口。如果它被禁用,它应该移动到谷歌页面。一个朋友叫我这么做。它在jsFiddle.net上有效。但如果我在工作中尝试这样做,它就不起作用了。

当我点击时,它显示弹出窗口,当我关闭弹出窗口时,它会移动到谷歌页面上。

我希望它保持一致。我不希望它在链接页面上移动。

只有当javascript被禁用时,它才应该移动。

我在这个剧本里做错了什么?

谢谢你,

基肖尔。

您需要将该脚本包含在它试图将onclick处理程序分配给的元素之后。或者将该代码封装在onload处理程序中。否则JS会在元素解析之前执行,所以getElementById("goo")找不到它

顺便说一下,您不需要内联html属性onclick,也不需要在JS中分配处理程序。该属性正在尝试调用一个名为jstest()的全局函数,该函数在您的代码中不存在。您可以删除document.getElementById("goo").onclick =部分,只需声明与内联html属性onclick中使用的名称相同的函数。

我想它在jsfiddle.net上是有效的,因为默认情况下jsfiddle将代码封装在onload处理程序中(您可以通过左侧的面板进行更改)。

尝试将其作为超链接:

<a href="http://www.google.com/" onClick="return jstest();">

onClick中的返回应该确认函数的返回false应该出现在超链接的行为中。

不明白为什么在标签中嵌入onclick

jQuery:

$(function() {
    $("#goo").click(function(e){
      e.preventDefault();
      // Do whatever you want here
    })
})

您可以使用jQuery 执行类似的操作

$(document).ready(function() {
    $("#goo").click(function(event){
      event.preventDefault();
      alert("Success");
    });
});

希望这能帮助

这是一个链接