美文网首页
08 - 冒泡机制和可视区

08 - 冒泡机制和可视区

作者: 西巴撸 | 来源:发表于2017-01-04 10:41 被阅读13次

获取屏幕可视区

function client(){
    if(window.innerWidth != null){
        return {
            width: window.innerWidth,
            height: window.innerHeight
        }
    }
    else if(document.compatMode === "CSS1compat"){
        return {
            width: document.documentElement.clientWidth,
            height: document.documentElement.clientHeight
        }
    }
    else{
        return {
            width: document.body.clientWidth,
            height: document.body.clientHeight
        }
    }
}

常用窗口事件-onresize

  • 当窗口或框架的大小发生改变的时候就会调用;

  • onresize一般被运用于自适应页面布局等多屏幕适配场景;

  • 应用:当屏幕的宽度>=960时,页面的背景颜色为红色;当屏幕的宽度>=640时,页面的背景颜色为蓝色;当屏幕的宽度<640时,页面的背景颜色为绿色?

  • 补充:获取屏幕的分辨率:window.screen.width ****window.screen.height

  • 案例

  • 改变屏幕颜色.html http://www.jianshu.com/p/b505f4bad9ce

冒泡机制

  • 气泡从水底开始往上升,由深到浅,升到最上面。在上升的过程中,气泡会经过不同深度层次的水。相对应地:这个气泡就相当于我们这里的事件,而水则相当于我们的整个dom树;事件从dom 树的底层,层层往上传递,直至传递到dom的根节点。

  • 图解

图解
  • 阻止冒泡
if(event && event.stopPropagation){ // w3c标准    
    event.stopPropagation();
}
else{ // IE系列 IE 678    
    event.cancelBubble = true;
}

获取当前操作对象

 var targetId = event.target ? event.target.id : event.srcElement.id;

获取用户选中的内容

var selectedText;
// 标准模式 获取选中的文字    
if(window.getSelection){ 
   selectedText = window.getSelection().toString();
}
// IE 系列 
else{   
   selectedText = document.selection.createRange().text;
}

相关文章

  • 08 - 冒泡机制和可视区

    获取屏幕可视区 常用窗口事件-onresize 当窗口或框架的大小发生改变的时候就会调用; onresize一般被...

  • JS事件的冒泡捕获--发生了什么

    多次遇到事件冒泡与捕获相关的题目,冒泡和捕获机制在不同浏览器中的兼容性也不相同,IE中默认只支持冒泡机制,冒泡和捕...

  • JavaScript中的冒泡事件

    事件冒泡机制 事件冒泡发生的条件:当为多个嵌套的元素设置了相同的事件处理程序,它们将触发事件冒泡机制。在事件冒泡中...

  • UITableView 相关面试问题

    重用机制 UITableView的重用机制可以理解为四个部分,即将滚出可视区域的cell,当前屏幕显示的cell,...

  • --

    react事件机制 react基于浏览器原生事件机制,封装了一套自己的事件机制,包括事件注册、事件合成、冒泡和捕获...

  • UITableView重用池机制及数据源同步问题

    字母索引条(重用机制, 重用字母索引) 1.UITableView的重用机制可以理解为四个部分,即将滚出可视区域的...

  • JavaScript的事件代理和事件委托

    JavaScript中的事件委托是很重要的一个东西,事件委托依靠的就是事件冒泡和捕获的机制。 事件冒泡怎么实现,先...

  • JS事件机制----捕获和冒泡

    在工作学习中,事件绑定机制用到了addEventListener()绑定方法,其具体用法如下: element.a...

  • UITableView重用池机制及数据源同步问题

    字母索引条(重用机制,重用字母索引) 1.UITableView的重用机制可以理解为四个部分,滚出可视区的cell...

  • JS冒泡机制

网友评论

      本文标题:08 - 冒泡机制和可视区

      本文链接:https://www.haomeiwen.com/subject/oirovttx.html