0

我有一个适用于多个页面的 .JS 包含文件。但是,对于一个页面,我现在采用了 jquery 方法,并使用

$("").on("click","#id",function(){});

关于我的一些元素。但是现在当我转到一个没有该元素的页面时,它会标记为错误。无论如何,如果它们没有出现在页面上,它只是简单地忽略这些元素?否则我将不得不为每个页面编写单独的 .JS 文件,我确信这不是正确的方法。

谢谢你的帮助。:)

(注意:我指定标签等我只是举个例子,我道歉,我删除了标签名称。让我们调用标签#mydiv。当使用上述子句时,在没有#mydiv的页面上,我得到一个控制台错误。但是,在确实有#mydiv 的页面上完全没问题!所以问题是:我怎样才能阻止该错误被捕获?)

4

2 回答 2

0

您的错误应该与其他内容有关,因为on如果某些元素不存在,则不会引发任何错误。尝试

$("body").on("click","#id",function(){});

如果也可以使用内部容器代替body

$("#your-control-container").on("click","#id",function(){});
于 2012-06-26T15:28:11.137 回答
0

我将在黑暗中进行尝试,并猜测不需要 jQuery 部分的页面在包含提到<script>的文件之前不会使用标记加载 jQuery。.js如果是这种情况,您的 jQuery 代码将抛出错误,因为未定义$()函数(它只是 的简写)。jQuery()

您应该能够通过window.jQuery在 JavaScript 文件中未定义的测试来解决这个问题:

if(window.jQuery) {
    // code that uses jQuery here
}
于 2012-06-26T15:32:00.297 回答