jQ load方法在jquery1.8版本中被废弃,用on进行绑定

更新jQuery版本后报错url.indexOf is not a function解决办法

http://www.findme.wang/Blog/detail/id/196.html

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

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


1

2

$("").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进行绑定,即如下:


1

2

$("").on(‘load‘,function(){

})

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


1

2

3

4

5

6

7

$("").bind(‘load‘function(){

//处理相应的事务

}).attr({

       "href" ‘index.css‘,

       "type" "text/css",

       "rel"  "stylesheet"

     }).appendTo(‘head‘);

 

时间: 2024-10-05 11:37:58

jQ load方法在jquery1.8版本中被废弃,用on进行绑定的相关文章

jq load()方法中加载文件中元素事件绑定失效的问题

1.load()方法: $(selector).load(URL,data,callback): selector:页面中需要加载外部文件的DOM节点: URL:外部文件地址: data:请求一同发送的查询字符串集合: callback:load()方法完成后所执行的函数: 2.问题:被加载页面中的JavaScript代码失效,这是因为load加载的外部文件会把Script部分删除掉. 解决:使用load方法中的回调函数加载绑定事件: 原文地址:https://www.cnblogs.com/n

关于ViewGroup中onInterceptTouchEvent方法,在各个版本中的执行不同的猜测

在低版本的模拟器上,当ViewGroup的onInterceptTouchEvent方法返回false时,当再有touch事件传递给ViewGroup,会一直执行此方法. 在高版本的模拟器上,当ViewGroup的onInterceptTouchEvent方法返回false时,当再有touch事件传递给ViewGroup,onInterceptTouchEvent方法会执行几次,接着就不会再执行此方法了.

jq load()方法用法

//鼠标划上去默认样式添加 listNow = getUrlParam("page"); $(".header").load("../file/head.html",function(){ $(".l-list li a").eq(listNow).addClass("active"); }); $(".footer").load("../file/footer.html&qu

Python中字典的has_key方法在3.4版本中改为in

1 >>> a={1:'a',2:'b'} 2 >>> 1 in a 3 True 4 >>> 'a' in a 5 False 6 >>> 2 in a 7 True 8 >>> 即可以判断某个键是否存在于字典中; 1 >>> a.has_key(1) 2 Traceback (most recent call last): 3 File "<pyshell#27>"

Hibernate中get方法和load方法的区别

1.从返回结果上对比: load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常: get方法检索不到的话会返回null: 2.从检索执行机制上对比: load方法的执行则比较复杂首先查找session的persistent Context(一级缓存)中是否有缓存,如果有则直接返回,如果没有则去查找二级缓存,如果有则返回,如果没有则判断是否是lazy,若不是lazy,直接访问数据库检索,查到记录返回(并且同时在二级缓存中存放查到的数据方便下次使

hibernate中懒加载和急加载的区别,以及hibernate中get()方法和load()方法的区别

* 懒加载在加载一个实体的时候,不会马上从数据库中加载,即从数据库中加载到内存.而急加载在加载一个实体时,会立即从数据库中查询,与其关联的类也会被同时查询. 急加载就会很快,因为在第一次加载的时候,已经帮我们全部加载好了.而懒加载则会相对慢一些,因为在我门需要查询的时候,它才会执行sql操作. 所以懒加载的优点是占用内存小,执行速度慢;急加载是执行速度快,占用内存高 hibernate的get()he load()方法在执行的时候又很大的区别, 执行get()方法会把所有的基本数据全部加载, 而

Hibernate中Session.get()方法和load()方法的详细比较(转)

一.get方法和load方法的简易理解 (1)get()方法直接返回实体类,如果查不到数据则返回null.load()会返回一个实体代理对象(当前这个对象可以自动转化为实体对象),但当代理对象被调用时,如果没有数据不存在,就会抛出个org.hibernate.ObjectNotFoundException异常 (2)load先到缓存(session缓存/二级缓存)中去查,如果没有则返回一个代理对象(不马上到DB中去找),等后面使用这个代理对象操作的时候,才到DB中查询,这就是我们常说的 load

Hibernate中Session.get()方法和load()方法的详细比较

一.get方法和load方法的简易理解 (1)get()方法直接返回实体类,如果查不到数据则返回null.load()会返回一个实体代理对象(当前这个对象可以自动转化为实体对象),但当代理对象被调用时,如果没有数据不存在,就会抛出个org.hibernate.ObjectNotFoundException异常 (2)load先到缓存(session缓存/二级缓存)中去查,如果没有则返回一个代理对象(不马上到DB中去找),等后面使用这个代理对象操作的时候,才到DB中查询,这就是我们常说的 load

Hibernate中get()和load()方法的区别

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的. 一.load加载方式 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load()方法来加载一个对象时,此时并不会发出SQL语句,当前得到的这个对象其实是一个代理对象,这个代理对象