我正在尝试运行下面给出的代码(我已经对其进行了简化以查明问题所在)。当我排除 src
脚本的一部分(即省略 JQuery 的源代码)然后警报将正常运行,但会导致错误 Uncaught TypeError: Object #<HTMLImageElement> has no method 'offset'
.这是由于未包含 JQuery。但是,当我添加 src
部分(如下所示),我没有收到任何错误或警告,但据我所知代码没有运行。具体来说,没有警报(或其他任何东西)。我猜我只是在如何包含 JQuery 上犯了一些愚蠢的错误,但我不确定它是什么。有什么建议么?非常感谢!
<script src="/js/jquery-2.0.3.min.js" type="text/javascript" >
getPosition = function() {
var the_source = document.getElementById('the_source');
var offset = the_source.offset();
var x_position = e.clientX - offset.left;
var y_position = e.clientY - offset.top;
alert(e.clientX - offset.left);
alert(e.clientY - offset.top);
}
initialize = function() {
alert('check');
getPosition();
}
setTimeout(initialize, 100);
</script>
最佳答案
您不能在单个 <script>
中同时拥有“src”属性和内联脚本代码堵塞。用它自己的 <script>
导入 jQuery block (没有内联内容),然后将您的脚本放入另一个 block 中。
除非您使用严格的 DOCTYPE 进行编码,否则您也不需要“类型”属性。
编辑 — 此外,您正在导入(或尝试)但未正确使用它:
var the_source = document.getElementById('the_source');
在导入 jQuery 之后,对“getElementById”的调用仍然是一个普通的旧 DOM API 调用。如果你想使用 jQuery API,你必须创建一个 jQuery 对象:
var the_source = $('#the_source');
关于javascript - JQuery - 包括 JQuery 会导致警报不运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236271/