• 你好!欢迎你的到来
  • 关于我们
  • 首页 博客 学习笔记 技术导航 工具
  • 博文分类
    • PHP(43)
    • MySQL(11)
    • Linux(28)
    • html(3)
    • JQuery(4)
    • JavaScript(9)
    • svn(2)
    • CSS(2)
    • seajs(1)
    • go(44)
    • redis(1)
    • nginx(8)
    • mongo(0)
    • es(0)
    • 算法(0)
    • 其他(26)
    • 生活(1)
    专栏
    • Jquery基础教程
      • 文章:(15)篇
      • 阅读:17129
    • shell命令
      • 文章:(42)篇
      • 阅读:58556
    • Git教程
      • 文章:(36)篇
      • 阅读:115213
    • leetCode刷题
      • 文章:(37)篇
      • 阅读:14590
    • 摘要视图
    • 目录视图
    更新jQuery版本后报错url.indexOf is not a function解决办法
    2017-05-05 17:59 阅读(13581) 评论(4)

    最近在使用之前下载的jquery.thinkbox.js,一直报错url.indexOf is not a function,如下:

    经分析,报错主要是由调用load函数引起:

    $("").load(function(){
    })


    因为在jquery3.2.0中,load函数定义如下:

    函数的第一个参数为url,即字符串,indexOf属于字符串的方法,瞬间明白,传入一个函数的时候报错url.indexOf。

    为什么之前用的时候可以呢?

    通过查阅jQuery Blog,发现

    ‍.load, .unload, and .error, deprecated since jQuery 1.8, are no more. Use .on() to register listeners.‍

    原来在Jquery1.8之后的版本,load方法已经被遗弃。移除原因如下:

    The .load() method is an ambiguous signature, it can either be an ajax load or attach/fire a "load" event. CCAO cannot tell them apart since it's a dynamic decision based on arguments.

    If .load() is being deprecated, .unload() should be as well.

    因为和ajax中load方法冲突,具体可以参考这里

    处理load问题的解决方案

    jQuery Blog上说,通过使用on进行绑定,即如下:

    $("").on('load',function(){
    })

    因为on和bind都是处理事件绑定的,经测试bind也可以。

    $("").bind('load', function(){
    //处理相应的事务
    }).attr({
           "href" : 'index.css',
           "type" : "text/css",
           "rel"  : "stylesheet"
         }).appendTo('head');


    本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
    http://www.findme.wang/blog/detail/id/196.html

    若您感觉本站文章不错,读后有收获,不妨赞助一下?

    我要赞助

    您还可以分享给朋友哦

    更多
    顶
    25
    踩
    0
    • 上一篇: jQuery中$(document).ready与Javascript中window.onload区别
    • 下一篇: 网站中QQ和新浪微博登录相关代码
    • 查看评论
    • 正在加载中...
    • 留言
    • 亲,您还没有登录,登录后留言不需要审核哦!
      可以使用如下方式登录哦!
  • CSDN | 新浪微博 | github | 关于我们 | 我要留言 | 友链申请
  • 豫ICP备18038193号    Copyright ©lidequan All Rights Reserved