jQuery (01) 浏览器的事件模型
浏览器的事件模型
- 由网景公司引入的 DOM0 级事件模型
- 把事件处理程序绑定到 DOM 元素的属性上:
-
ele.onclick(); ele.onDOMContentLoad(); ele.onload(); ele.onmousemove();
-
- 把事件处理程序绑定到 DOM 元素的属性上:
-
- 解绑:
-
ele.onclick = null;
-
- 解绑:
-
- 取消事件冒泡
-
return false;
-
- 取消事件冒泡
-
- 缺点:如果同一元素绑定多个同类型的事件处理程序,只有最后一个生效。
- W3C 定义的 DOM2 级事件模型
- w3c 定义了两个方法来操作事件
- 绑定事件
- addEventListener(evenStr, func, false);
- 绑定事件
-
-
- 解绑事件
- removeEventListener(eventStr, func);
- 解绑事件
-
-
-
- 取消事件冒泡
- event.stopPropagation();
- 取消事件冒泡
-
- jQuery 封装了事件模型
- 绑定事件
- $("#ulList").on("click", "li", func);
-
- 解绑事件
- $("#ulList").off("click", func);
- 解绑事件
-
- 主动触发事件
- $("#ulList li.current").trigger("click");
- 会产生事件冒泡
- 会执行浏览器默认行为
- 对于 <input id="Txt" type="text">哈哈</input> 还会自动选中文本: $("#Txt").trigger("select");
- $("input").triggerHandler("focus");
- 不会产生事件冒泡
- 不会执行浏览器默认行为
- 若是元素集合,灰灰触发第一个元素
- 主动触发事件
-
- 关于 jQuery 取消事件冒泡
- 使用 event.stopPropagation(); 即采用 DOM2 级事件模型
- jQuery 不支持捕获阶段
- 关于 jQuery 取消事件冒泡
--------小尾巴
________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...