BOM DOM

BOM

  • BOM(Browser Object Model)即浏览器对象模型。
    BOM提供了独立于内容 而与浏览器窗口进行交互的对象;
    由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;

  • 浏览器的内核

    IE: trident内核 (IE浏览器)

    Firefox:gecko内核 (火狐浏览器)

    Safari:webkit内核 (苹果浏览器)

    Opera:Blink内核 (欧朋浏览器)

    Chrome:webkit (谷歌浏览器)

DOM

image

DOM1也是存在,只是没有涉及到事件,DOM3比DOM2多了键盘和鼠标一些事件

  1. DOM的事件模型: 捕获----> 冒泡

  2. DOM的事件流(三个阶段):捕获阶段---->目标阶段 -----> 冒泡阶段

  3. DOM事件捕获的具体流程:

window---document---html---body---.... ---目标元素

DOM事件的Event对象的常见应用:

  • event.preventDefault() : 阻止默认事件

  • event.stopPropagation(): 阻止冒泡

  • event.stopImmediatePropagation(): 除了该事件的冒泡行为被阻止之外(event.stopPropagation方法的作用),该元素绑定的后序相同类型事件的监听函数的执行也将被阻止.

  • event.target: 返回触发事件的元素

  • event.currentTarget: 返回绑定事件的元素

DOM的自定义事件:

var  eve = new Event('eventName')
dom.addEventListener('eventName',function(){
})  //注册事件
dom.dispatchEvent(eve);   // 触发事件,
---------------------------------------------------------
这个事件不能添加参数,想要添加参数,得自定义 CustomEvent事件
// 添加一个适当的事件监听器
obj.addEventListener("cat", function(e) { process(e.detail) })
// 创建并分发事件
var event = new CustomEvent("cat", {"detail":{"hazcheeseburger":true}})
obj.dispatchEvent(event)

--

--

--

<body>
    <button>派发事件</button>
    <input type="text">
    <script>
          // 事件对象
            var  eve = new Event('gc')
            // 注册事件
            document.querySelector("button").addEventListener('click',function(){
                // this.dispatchEvent(eve)
                document.querySelector("input").dispatchEvent(eve)
                
            })  
            document.querySelector('input').addEventListener('gc',()=>{
                console.log('xxxxxxxxx')
                document.querySelector('input').value = "xxxxx"
            })
           // 触发事件
    </script>
</body>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,538评论 1 11
  • js对象 使用特殊的属性名,不能使用.方式操作 in 运算符 通过该运算符可以检查一个对象中是否包含有指定的属性,...
    强某某阅读 227评论 0 1
  • javacsript是通过访问BOM(Browser Object Model)对象来访问、控制、修改客户端(浏览...
    Lethe35阅读 634评论 0 4
  • 事件流 JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互...
    DHFE阅读 847评论 0 3
  • JavaScript 程序采用了异步事件驱动编程模型。在这种程序设计风格下,当文档、浏览器、元素或与之相关的对象发...
    劼哥stone阅读 1,274评论 3 11