关于jQuery中load函数的一点思考


jQuery中有两个load函数:

1、Ajax中的load(url, [data], [callback]),载入远程 HTML 文件代码并插入至 DOM 中。

用法:

HTML 代码:

<b>jQuery Links:</b> <ul id="links"></ul>
jQuery 代码:

$("#links").load("/Main_Page #p-Getting-Started li");

描述: 加载 feeds.html 文件内容。

2、onload事件的简写形式

.bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象,比如focus, mouseover, 和 resize,都是可以作为type参数传递进来的。 jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind('click')。一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 。


有多个定义,在用的时候就会出现多义性,所以,如果$('div').load(function(){alert('div load')});想处理onload事件时,没有任何反应,貌似jQuery把这个load当成Ajax的load了,如果使用bind函数绑定onload事件呢?问题依旧。看来load事件的处理函数不能用啊。


如果$('div').load(alert('div load'));呢?会弹出提示“div load”,这又是为什么呢?此处的load仍然是ajax的load,之所以会弹出提示,是因为load函数执行alert('div load')语句,并期望alert函数有string类型的返回值,可是执行后发现没有,然后就执行不下去了。

那$('div').load(function(){alert('div load')})为什么没任何反应呢?还是因为load函数执行function(){alert('div load')},而这句话只是定义了一个匿名function,并不是执行该function,如何才能执行呢?得这样:$('div').load(function(){alert('div load')}()),这样一来,效果就像function(){alert('div load')}一样了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值