为了账号安全,请及时绑定邮箱和手机立即绑定
mouseover和mousemove,有什么区别,,,
一楼的评论说反了,event.target是给哪个元素绑定事件,是不变的。this则是当前触发事件的元素。
所以event.target是ul ,this是li
事件委托原理:
事件委托就是利用事件冒泡原理实现的!
事件冒泡:就是事件从最深节点开始,然后逐步向上传播事件;
例:页面上有一个节点树,div > ul > li > a
比如给最里面的a 加一个click 事件,那么事件就会一层一层的往外执行,执行顺序 a > li > ul > div, 有这样一个机制,当我们给最外层的div 添加点击事件,那么里面的ul , li , a 做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托他们父集代为执行事件
为什么要用事件委托?事件委托有什么好处?

一般来说,dom是需要有事件处理程序的,我们会直接给他事件处理程序就好了,那么如果是很多dom元素需要添加事件处理呢?
比如 100个li,每个li 都有相同的click点击事件,可能我们会有for循环的方法,来遍历所有li,然后为每个li添加绑定事件。
这么做毫无疑问对性能有很大的影响;
在js中,访问dom次数越多,引起浏览器重绘与重排的次数也就越多,就会延长整个页面的交互就绪时间

如果采用事件委托,就会将所有的操作放到js程序里面,与dom的操作就只交互一次,这样减少了dom交互次数,性能就会提升;
借鉴其他大牛的一个例子:收快递例子

有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。

两层意思:
1.现在委托前台的同事是可以签收的,即程序中的现有的dom节点是有事件的;
2.新员工也是可以被前台mm代为签收的,即程序中新添加的dom节点也是有事件的;
老师这么不喜欢打;啊
不太理解e.target的可以把:e.target换成this。
http://libs.baidu.com/jquery/1.9.1/jquery.js
还有个获取索引位置的也比较有用:$(event.target).index();
你们可以把e.target换成$(this)看看 结果输出的的是underfined说明function中的this是指绑定触发的对象ul event 是实际触发事件的元素
老师讲的不错 $('elem').on('click','elem2',function(){}) 给元素elem绑定点击事件 原本该事件应该由elem去触发 现在由于第二层seletor的作用下委托elem2去做

最赞回答 / 慕村8732623
这句话应该跟 function update(first,last,bottonName)结合起来看,调用了update函数。这里的first.text(bottonName)就是$("span:first").text(bottonName),改变了第一个span里面的文本,同理 last.text(n + 1)也改变了第二个span里面的文本。补充一下parseInt(last.text(), 10);是为了将第二个span里的字符转换为十进制整数。

已采纳回答 / 黄永泰
 第一大段代码$("button:first").click(function(event,bottonName)你只要点击按钮1就会触发点击事件.click(function(event,bottonName)由于一开始的bottonName这个参数是不存在的所以bottonName=bottonName|| 'first';这个语句的返回值是'first'  然后再调用update这个函数 update($("span:first"),$("span:last"),‘first’);  解释完第一段代...
focusin focusout mouseover mouseout是冒泡事件 focus blur mouseenter mouseleave是不冒泡事件
http://www.w3school.com.cn/tiy/t.asp?f=jquery_event_mouseenter_mouseover我在这个网站验证过了 父元素的mouseover并不会使得子元素的mouseover触发 只有子元素mouseover触发时才会向上冒泡 并不知道是不是我的理解错误还是教程的错误
课程须知
1、有HTML/CSS基础 2、有JavaScript基础
老师告诉你能学到什么?
1、jQuery的基础语法 2、jQuery事件处理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消