javascript - JQuery - 包括 JQuery 会导致警报不运行?

标签 javascript jquery

我正在尝试运行下面给出的代码(我已经对其进行了简化以查明问题所在)。当我排除 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/

相关文章:

javascript - 如何在多组列表上使用相同的 jQuery 函数

javascript - 使用 :checked 配置时,输入(复选框)在 IE8 中不起作用

javascript - Bootstrap 3 导航栏折叠不展开

javascript - 即使 Promise.resolve() 的 Promise 解析也是异步完成的?

javascript - 如何通过nodejsexpress从Angularjs上传文件到s3

javascript - 来自不同域的restful api的Ajax请求

javascript - 将javascript json对象转换为字符串

php - onclick 显示特定行的 SQL 数据

javascript - KineticJS 中的拖动会移动整个页面,而不仅仅是可拖动的页面

javascript - highcharts 不会渲染到我的 div