使用JS文件而不是HTML事件处理程序重定向?

时间:2015-04-27 17:19:37

标签: javascript jquery html events onclick

所以目前我希望将javascript放在附加的JS文件中,而不是使用附加到HTML对象的“OnClick”函数。到目前为止我已经:

<html>
    <head>       
    </head>
    <body>
        <h1 id = '5' class = ''>6</h1>
        <button id = '7' class = ''>8</button>
        <script src = 'js/9.js'></script>
    </body>
</html>

但不幸的是,我无法通过点击按钮获得重定向。它应该有这个来源

document.getElementById('7').onclick = function () {

然后重定向到其他页面。关于如何改进这个的任何提示?

1 个答案:

答案 0 :(得分:2)

  1. 请使用字符串作为ID。我知道您现在可以使用数字,但不建议使用
  2. 使用加载事件处理程序
  3. 如果没有给按钮提供类型,您可能会将页面提交给自己,因此返回false或preventDefault
  4. 属性中的间距= =是什么?没有必要也没有推荐。
  5. 喜欢这个

    <html>
        <head>       
            <script src="js/9.js"></script>
        </head>
        <body>
            <h1 id="five" class="">6</h1>
            <button id="seven" class="">8</button>
        </body>
    </html>
    

    其中js文件有

    window.onload=function() {
      document.getElementById("seven").onclick = function () {
        location.replace("page2.html"); // or just location="page2.html";
        return false;
      }
    }
    

    使用jQuery,它将是

    <html>
        <head>       
            <script src="js/jquery.js"></script>
            <script src="js/9.js"></script>
        </head>
        <body>
            <h1 id="five" class="">6</h1>
            <button id="seven" class="">8</button>
        </body>
    </html>
    

    其中js文件有

    $(function() {
      $("#seven").on("click",function (e) {
        e.preventDefault();
        location.replace("page2.html"); // or just location="page2.html";
      });
    });
    

    最后你根本不需要脚本:

    <form action="page2.html">
      <button type="submit" id="seven" class="">8</button>
    </form>