仅 JQuery 可执行文件的一部分。直接粘贴到 HTML 时一切正常 (window.location)

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

我有一个 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 中执行点击处理?

试试这个代码:

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

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

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

  1. 将代码包装在 document-ready 处理程序中。

Specify a function to execute when the DOM is fully loaded.

$(document).ready(function() {

});
  1. 将对文件的引用移动到 <body> 元素的底部。