You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击触发Tooltip嵌入网站报错:$ is not a function 技术求助

解决$ is not a function错误的方案

出现$ is not a function的核心原因是jQuery未正确加载,或者**$标识符被其他脚本占用**,以下是针对性的解决方法:

一、排查并修复jQuery加载问题

1. 修复混合内容加载限制

你的HTML中引入jQuery用的是HTTP协议:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.3.2.js"></script>

如果你的网站是HTTPS协议,浏览器会阻止HTTP资源加载,导致jQuery未加载。改成HTTPS链接或相对协议:

<!-- 推荐:相对协议,自动适配网站HTTP/HTTPS -->
<script type="text/javascript" src="//code.jquery.com/jquery-1.3.2.js"></script>

<!-- 或者直接用HTTPS -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.3.2.js"></script>

2. 确保加载顺序正确

jQuery必须在你的自定义JS代码之前加载,否则自定义JS执行时jQuery还未初始化。正确的顺序应该是:

<!-- 先加载jQuery -->
<script type="text/javascript" src="//code.jquery.com/jquery-1.3.2.js"></script>
<!-- 再加载你的自定义JS -->
<script type="text/javascript">
  $(document).ready(function(){
      $('.fullscreen-click-area').click(showBox).mousemove(hideBox);
      function showBox(e){
          $('.tooltip').fadeIn().css({ left:  e.pageX, top: e.pageY });
      }
      function hideBox(){
          $('.tooltip').fadeOut();
      }
  });
</script>

3. 升级jQuery版本

你用的jQuery 1.3.2是2009年的老旧版本,存在大量兼容性问题,建议升级到稳定的3.x版本,比如:

<script type="text/javascript" src="//code.jquery.com/jquery-3.7.1.min.js"></script>

二、解决$被其他脚本占用的问题

如果网站中同时引入了其他使用$的脚本(比如Prototype),会导致jQuery的$被覆盖,可通过两种方式解决:

1. 直接使用jQuery代替$

把所有$替换成jQuery:

jQuery(document).ready(function(){
    jQuery('.fullscreen-click-area').click(showBox).mousemove(hideBox);
    function showBox(e){
        jQuery('.tooltip').fadeIn().css({ left:  e.pageX, top: e.pageY });
    }
    function hideBox(){
        jQuery('.tooltip').fadeOut();
    }
});

2. 使用jQuery的noConflict模式

保留$在回调内的使用权限:

jQuery.noConflict();
jQuery(document).ready(function($){
    // 这里可以正常使用$
    $('.fullscreen-click-area').click(showBox).mousemove(hideBox);
    function showBox(e){
        $('.tooltip').fadeIn().css({ left:  e.pageX, top: e.pageY });
    }
    function hideBox(){
        $('.tooltip').fadeOut();
    }
});

额外优化建议

你的CSS中.fullscreen-click-area的定位可以简化,不需要top:50%+transform,直接用:

.fullscreen-click-area {
    background-color: #7F7F7F;
    position: fixed; /* 用fixed更适合全屏覆盖 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:30:56