Jquery 应用
1.获取元素上绑定的事件
Jquery1.x 版本
控制台输入 $.cache[$('#clickMe').get(0)[$.expando]].events
输出元素上绑定的事件
Jquery1 , Jquery2 版本 ( $._data会在jquery2之后的新版本中废除 )
控制台输入 $._data($('#clickMe').get(0)).events
2. 容器(div)嵌套容器(div) ,子级容器点击事件不穿透触发父级容器点击事件
场景:ul > li > div > span ,li 标签上有点击展开事件(通过 js 绑定),span 标签上有点击跳转其他页事件(通过 js 绑定的事件)
问题:点击 span 标签时,会穿透触发 li 标签的点击事件
<ul class="accordionSecond" data-mutually-exclusive="false" data-expandcallback="onShipExpand"> <li> <div style="font-weight: normal; padding: 2px 0px; line-height: 20px; color: #7c7a7a"> <span class="spanYaliji" data-Id="@item.ProduceshippingID" onClick="event.cancelBubble = true">取样</span> </div> </li> </ul>
解决:在子级容器上增加一个事件 onClick="event.cancelBubble = true",这样就可以只触发自身的点击事件
3. Find 应用
var obj = list.find(function (n, index, arr) { return n.HouseID == parseInt(houseId); }, list);