只是 JQuery 可执行文件的一部分.当直接粘贴到HTML中时,一切正常(window.location)

Only part of JQuery executable. When pasted in HTML directly everything works (window.location)

本文关键字:中时 location window HTML 一部分 可执行文件 JQuery 只是      更新时间:2023-09-26

我有一个JS文件,它完美运行,并执行其中的所有代码。

但是我现在添加了以下JQuery:

$("#need2Know").click(function(){
        window.location ="URLString";           
        return false;
});

$("#nice2Know").click(function(){
        window.location ="URLString";           
        return false;
});

当我在 HTML 文件中调用这部分代码时,onclick 处理将按预期执行。但是,一旦我将其粘贴到 JS 文件中(高于所有其他代码,其余代码仍在工作),onclick 处理就不再起作用了。

我使用以下 JQuery 库:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

我的 JQ 文件是在这个库之后调用的。

对我来说很奇怪的是,代码在 HTML 中工作,但在 JS 文件中不起作用,尽管其余代码仍然像以前一样处理......

关于如何解决此问题的任何建议,以便可以在 JS 中执行点击处理?

目前,您使用的称为"直接"绑定,它只会附加到代码进行事件绑定调用时页面上存在的元素。由于尚未加载 DOM,因此不会附加任何事件处理程序。

您可以通过以下方法之一解决问题:

  1. 将代码包装在文档就绪处理程序中。

指定在 DOM 完全加载时要执行的函数。

$(document).ready(function() {
});
  1. 将对文件的引用移动到 <body> 元素的底部。

试试这段代码:

$("body").on("click","#nice2Know", function(){
    window.location ="URLString";
    return false;
});