利用 Js 实现网页的跳转

  1. aLink.click() 覆盖当前窗口
    准备工作:var aLink = document.createElement('a'); obj.href="url";
  2. window.open("url") 打开新窗口
  3. window.location.href='url' 覆盖当前窗口

href属性值

href="javascript:void(0)" 空链接 无任何信息

href="#" 默认是#top,指向网页的上端,当连续点击时易导致浏览器变慢。

href="javascript:void(0)" onclick="doSomething()" 点击后,响应事件。

事件 (请打开浏览器的开发工具,以查看下面按钮的提示信息)

DOM0级事件,比如 onclick,仅支持事件冒泡

btn3
btn2
btn1

DOM2级事件流

包括三个阶段: (1)事件捕获阶段 (2)处于目标阶段 (3)事件冒泡阶段

有两个函数:addEventListener 和 removeEventListener。 addEventListener(type, listener); addEventListener(type, listener, options); addEventListener(type, listener, useCapture);

参数说明: type, 监听的事件类型 listener, 一个实现了 EventListener 接口的对象,或函数 useCapture:bool, 设为 true 时,就在捕获阶段处理,而不冒泡。 options, {}

DOM2事件按钮

给上面的按钮绑定两个两个事件处理程序,都能够成功触发,说明可以绑定多个事件处理程序; 但是注意,如果定义了一摸一样时监听方法,是会发生覆盖的,即同样的事件和事件流机制下相同方法只会触发一次

btn-3
btn-2
btn-1

当第三个参数为true时,表明在捕获阶段执行;为false时,在冒泡时执行。

当遇到ev.stopPropagation()时,事件到此为止。

事件委托

注意:event.target 是触发事件的元素(可能是其中的子元素);event.currentTarget 是绑定事件的元素