前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DOM和事件和BOM的学习

DOM和事件和BOM的学习

作者头像
阮键
发布2020-05-08 15:17:30
1.6K0
发布2020-05-08 15:17:30
举报

#DOM的简单学习文档对象模型(Document Object Model,简称DOM) 功能:控制html文档的内容 *代码:获取页面标签(元素)对象,Element *Document.getElementByid("id值"):通过元素的id获得元素对象 *操作Element对象: 1.设置属性值: 1.1明确获取的对象是哪一个, 1.2查看API文档,找其中有哪些属性可以设置 2.修改标签体内容: *属性:innerHTML

代码语言:javascript
复制
 
```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img id="light" src="img/off.jpg"/></body>
<h1 id="title">悔创阿里杰克马</h1>
<script>
    //通过id获取元素对象,如果放在前面先加载就会报null,需要放在img标签后面
   /* var light=document.getElementById("light");
    alert("我要开灯了。。。");
    light.src="img/on.jpg";*/
    //1.获取h1标签对象
    var title=document.getElementById("tltle");
    alert("我要换内容了。。。");
    title.innerHTML="不识妻妹刘强东";
</script>
</html>
```
代码语言:javascript
复制
 
**事件的简单学习**
    *概念:某些组件被执行了某些操作后,处罚某些代码的执行
        *例如:我方水晶被吹毁我就骂队友,
              敌方水晶被吹毁我就夸奖自己
    *如何绑定事件
        1.直接在html标签上,指定事件的属性,属性值就是js代码
        2.通过js获取元素对象,指定事件属性,设置一个函数
 
```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件绑定</title>
</head>
<body>
<!--点击这个图片会弹出'我被点击了。。。'-->
<!--
<img id="light" src="img/off.jpg" onclick="alert('我被点击了')"/>
-->
<!--缺点:耦合度高不利于维护-->
<img id="light" src="img/off.jpg" onclick="fun()" /></body>
<img id="light2" src="img/off.jpg"/></body>
<script>
    function fun() {
        alert('我被点击了');
        alert('我又被点击了');
    }
    function fun2() {
        alert('咋又点击我了');
    }
    //1.获取light2对象
    var light2=document.getElementById("light2");
    //2.绑定事件,指定函数对象名字
    light2.onclick=fun2;
</script>
</html>
```

案例:开灯关灯

代码语言:javascript
复制
```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>电灯开关</title>
</head>
<body>
<img src="img/off.jpg"/></body>
<script>
    /*
    * 分析:
    *   1.获取图片对象
    *   2.绑定单击事件
    *   3.每次点击切换图片
    *       规则:
    *       如果开的on,切换为off
    *       如果灯是关的,off,切换图片为on
    *       使用标记flag来完成
    * */
    //1.获取图片对象
    var ligjt=document.getElementById("light");
    var flag=false;//代表灯是灭的
    //2.绑定单击事件
    light.onclick=function () {
        if (flag){//判断灯是开的,则灭掉
            light.src="img/off.jpg";
            flag=false;
        } else{//判断灯是关的,则开开
            light.src="img/on.jpg";
            flag=true;
        }
    }
</script>
</html>
```

BOM的学习 1.概念:Browser object Model 浏览器对象模型 *将浏览器的各个组成部分封装成对象

2.组成: Window:窗口对象 Navigator:浏览器对象 Screen:显示器屏幕对象 History:历史记录对象 Location:地址栏对象

Window:窗口对象 1.创建 2.方法 1.与弹出框有关的方法: alert()显示带有一段消息和一个确认按钮的警告框 confirm()显示带有一段消息以及确认按钮和取消按钮的对话框。 2.与开发关闭有关的方法: open()打开一个新的浏览器窗口 close()关闭浏览器窗口 3.与定时器有关的方式 settimeout()在指定的毫秒数后调用函数或计算 *参数 1.js代码或者方法对象 2.毫秒值 clearTimeout()取笑由setTimeout() 方法设置的timeout setInterval()按照指定的周期来调用函数或计算表达式。 clearInterval()取消由setInterval()设置的timeout. 3.属性 1.获取其他BOM对象; history location Navigator Screen 2.获取DOM对象 document 4.特点 *Window对象不需要创建可以直接使用window使用 *window引用可以省略。方法名(); 4.Location:地址栏对象 1.创建(获取): 1.window.location 2.location 2.方法: reload() 重新加载当前文档。刷新 3.属性 href 设置或返回完整的URL. *HTML DOM 1.标签体的设置和获取:innerHTML 2.使用html元素的对象 3.控制元素样式 3.1.使用元素的style属性来设置 如: //修改元素的style属性来设置 div.style.border="1px solid red"; div.style.width="200px"; //font-size-->fontSize div.style.fontSize="20px"; //提前定义好类选择器的样式,通过元素的ClassName属性来设置其classs属性值。 .d2{ border:1px solid blue; width:200px; height:200px; } <div id="div2">div</div> var div2=document.getElementById("div2"); div2.onclick=function(){ div2.className="d1"; } }

##事件监听机制: *概念:某些组件被执行了某些操作后,触发某些代码的执行。 *事件:某些操作,如:单击,双击,键盘按下了,鼠标移动了。 *事件源:组。如:按钮 文本输入框。。。 *监听器:代码。 *注册监听:将事件,事件源,监听器结合在一起。当事件源发生了某个事件,则触发执行某个监听器代码。 *常见的事件: 1.点击事件: 1.onclick:单击事件 2.onblclick:双击事件 2.焦点事件 1.onblur:失去焦点 2.onfocus:元素获得焦点。 3.加载事件 1.onload:一张页面或一幅图像完成加载。 4.鼠标事件 onmousedown 鼠标按钮被按下 onmouseout 鼠标从某元素移开 onmouseover 鼠标移到某元素之上 onmouseup 鼠标按键被松开 onmousemove 鼠标被移动 5.键盘事件 1.onkeydown 某个键盘按键被按下 2.onkeyup 某个键盘按钮被松开 3.onkeypress 某个键盘按键被按下松开。 6.选择和改变 1.onchange 域的内容被改变 2.onselect 文本被选中 7.表单事件: 1.onsubmit确认按钮被点击 2.onreset重置按钮被点击

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档