-1

我以前有这个代码,它工作正常,

$(document).ready(function(){
    $("#tButton").click(function(e) {
       var id = this.value;
       codeResult(id);
    });
});

但是当我将此方法移动到单独的文件时,我已经写了这个

    $("#tButton").click(function(e) {
       var id = this.value;
       codeResult(id);
    });

或者

    $("#tButton").on('click', function(e) {
       var id = this.value;
       codeResult(id);
    });

两者都不起作用,我不想document.ready在我的 .js 文件中使用,怎么了?

更新:哇,人们投票只是为了我的要求,原因太长了,这就是我没有指定的原因,但在这里我指定了为什么我不想document.ready在 .js 文件中 使用

我有jquery 选项卡,其中打开了多个页面,现在两个页面有共同的这个 .js 文件,更重要的是第一页没有这个tButton链接,所以第一次我在选项卡中加载页面时它会执行document.readytButton不是页面页面所以它不会绑定,但现在在第二个选项卡第二个页面加载但此时这个 js 不会再次执行 document.ready,这是主要问题,所以它不会绑定tButton点击​​事件,因为它之前已加载。这就是为什么我不想使用document.ready.

希望现在你能理解我的复杂情况。

4

3 回答 3

1

如果你不想使用document.ready,那么你需要在最后调用你的 JS 文件,在body.

    <!-- End of the body -->
    <script type="text/javascript" src="scripts.js"></script>
</body>

否则,您需要用$(document).ready();. 我仍然没有看到你不能使用它的原因。否则,您也可以通过其他方式执行此操作:

window.onload = function () {
  // All the contents //
}
于 2013-10-25T15:29:20.623 回答
0

我相当肯定你仍然需要document.ready在你的外部文件中使用。函数的格式不会改变,因为脚本是外部的。

试着把它放document.ready回去……我相信这会解决问题。

于 2013-10-25T15:29:32.153 回答
0
$(document).ready(function(){
    $("#tButton").click(function(e) {
       var id = this.value;
       codeResult(id);
    });
});

在单独的文件中必须工作

于 2013-10-25T15:32:37.003 回答