为了账号安全,请及时绑定邮箱和手机立即绑定

学了好几个加载事件,有点犯迷糊,求教高手一下..

学了好几个加载事件,有点犯迷糊,求教高手一下..

繁星coding 2018-08-17 10:09:54
这俩都是jQuery是吧? 请问这俩什么区别? 他们的原型是什么? $(document).ready(function(){ }) $(function(){ })请问下面这俩是一样的,只是一个是JavaScript,一个是 jQuery 对吗?window.onload = functionName$(window).onload(FunctionName)这仨哪里的区别? $("*").on("keydown", TanQiJian) $(document).on("keydown", TanQiJian) $(window).on("keydown", TanQiJian)
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

jQuery 的文档 提到,

All three of the following syntaxes are equivalent:

  • $( document ).ready( handler )

  • $().ready( handler ) (this is not recommended)

  • $( handler )

所以第1个问题,没区别

第2个问题。有者是用的浏览器自己实现的事件方式。后者是 jQuery 封装的事件方式,jQuery 的实现方式是对浏览器实现方式的封装,但在使用上,还是没啥区别的。不过用 jQuery 封装的事件方式,支持 jQuery 的链式调用,或者其它一些 jQuery 特性。

第3个问题。应用地不同对象的事件申明肯定是不一样的,第1个是对所有当前已经存在的元素绑定了 keydown 事件,第二个是对 document 绑定事件,第三个是对 window 绑定事件。由于事件的冒泡机制,如果没有在事件处理函数中中止冒泡,最终事件都会冒到 document,再冒到 window,按顺便分别触发他们的事情


查看完整回答
反对 回复 2018-09-17
  • 1 回答
  • 0 关注
  • 594 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信