事件委托
事件委托也称为事件代理,在jQuery里面被称为事件委派
事件委托的原理
不是给每个子节点单独设置事件监听器,而是将事件监听器设置在其父节点上,然后利用冒泡原理影响设置每个子节点...事件委托的作用
我们只操作了一次DOM,提高了程序的性能
那我们可以这么做,给ul加上点击事件:
但是我们可以看到点击li的时候也会弹出警示框,这是为什么呢?...也就是说,由于是冒泡阶段,所以是按照 li->ul->body->html->document的顺序查找的,由于在li中没有找到触发事件,就向上一级(ul)寻找触发事件,ul设置了触发事件,所以会弹出警示框...KeyboardEvent
clientX / clientY
我们获取一下在可视区中的点击坐标:(如果页面滚动也不会影响)
但是如果整个页面有有滚动条,我们想要获取点击的位置距离最顶端的坐标呢...onkeydown再执行press,因为press多了一层判断
案例时间到: 我们做个京东的案例,就算用户点击了页面中的其他地方,只要按下's'键,光标就能回到搜索框:
贴一下我一开始的做法: