Ajax 板


LINE

或许我不该擅自决定那样的事件补获叫做继承吧 就书上所讲事件往子元素传递那样叫事件补获 而你说的情形是事件冒泡 必须要子元素和父元素都绑定同样的事才会触发 就是子元素li click之後连带父元素的ul click事件也触发 在子元素上同样绑定click事件後 就会发现像你刚那种情形 点li 後 li 和 ul click一样触发 所以在你程式里加这行 就变成事件冒泡 $( '#list1' ).bind( 'click', function(evt) { alert( 'UL event' ); }); 而我说的情形是事件补获 只是子元素会去触发父元素所绑定的事件 父元素绑定click 那li click後 就会触发父元素click 所以弹出视窗当然只会弹出一次 而父元素如果绑定dblclick 那子元素也是点击二下後触发父元事的dblclick 所以我指的继承意思其实是指 子元素会去触发父元素所绑定的事件 这样而己 所以当 ul绑定 click li没绑定click 这就是事件补获 照你的程式跑 点击li 後会弹出一次视窗 如果当 ul绑定 click li也同样绑定click 那就是事件冒泡 点击li 後会 先弹出 li的click事件 再弹出ul的 click事件 可能是我继承名词引起你的误会吧 还是你觉得哪边怪怪的= =? ※ 引述《adahsu (路边的垃圾筒)》之铭言: : ※ 引述《etman395 (技术时代)》之铭言: : : 事件向上触发 才叫冒泡 只有父元素有相同事件就会一直触发上去 : : bind("click",function(event){ : : event.stopPropagation(); //这是阻止事件冒泡 : : event.preventDefault(); //这是阻止预设行为 : : return false; //可以代替以上简写 我试过是有效的 但仅只於阻止冒泡不能阻止补获 : : } : : 事件向下触发 叫做事件补获 刚好和冒泡相反 : : 而且有点不同 不同的地方在於 子元素会继承父元素的事件 : : 而事件冒泡是触发父元素相同的事件 : : 而我那本书里是提到 jquery不支持事件补获 : : 必须要用javascript来阻止 : : 看来阻止的方式就是刚解决的这行了 : : if (event.target == this) : event 是很 nice 的,这其中一定有什麽误会.... (误) : 个人倒是觉得这种情形真的是 事件的继承 吗? : 或者说这个看起来像是 li 继承 ul 事件处理的情形会不会实际 : 上只是因为 li 不知道这个事件要做啥其实只是把事件往上传递 : 给 ul 的错觉呢? : 用个例子来看,先在 UL 上绑定一个 click 事件处理程序, : 内容就很单纯的弹出一个讯息视窗:UL event; : 如果 LI 有继承到这个事件处理程序,那麽当我们点击到 LI 元素时, : 它应该要弹出一次 UL event 视窗,然後事件往上传递到 UL 元素, : 这时又要再弹出一次视窗。相关程式码如後列,而实际执行起来一直都只有 : 一个 UL Event 的提示视窗,应该足以认定 LI 其实并没有所谓继承 UL : 事件的情形,对否? : 进一步的话其实还可以探究利用 CSS 将 LI 元素的位置移到别的地方去时, : 事件处理流程是否会因而改变? =======> 答案是不会! : 喔,对了!这确定是原本的疑问吗? : <html> : <head> : <title>Event</title> : <script type="text/javascript" src="http://0rz.tw/07U36"></script> : <script type="text/javascript"> : $( document ).ready(function(){ : $( '#container' ).bind( 'click', function(evt) { : alert( 'UL event' ); : // 未使用 Firefox+ firebug 或 Chrome 的话, : // 以下这行要注解掉! : console.log( evt.target ); : }); : }); : </script> : <style type="text/css"> : #list3 { : position: absolute; : right: 0; : bottom: 0; : } : #list2 { : margin: 20px; : } : </style> : </head> : <body> : <ul id="container"> : <li id="list1">List 1</li> : <li id="list2">List 2</li> : <li id="list3">List 3</li> : </ul> : </body> : </html> --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.110.83.12 ※ 编辑: etman395 来自: 123.110.83.12 (12/06 15:11)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP