BOM:Browser Object Model  浏览器对象模型

   2.组成:
window :窗口对象
1.创建:
2.方法:
*与弹出框有关
1.alert(); 弹出警告框
2.confirm(); 显示带有一段消息和确认按钮的对话框
如果用户点击确定按钮则方法返回true,如果用户点击取消按钮,则方法返回false
  //confirm练习
var flag = confirm("您确定要退出吗?");
if(flag){
//退出操作 alert("欢迎再次光临") }else{
//提示
alert("手抖了吗");
}
              3.prompt(); 显示可提示用户输入的对话框
返回值,用来回去用户输入的信息
  //prompt练习 输入框
var result = prompt("请输入用户名");
alert(result);  *与打开关闭有关的方法
1.close();关闭浏览器窗口
当前窗口,谁调用我,我关谁
2.open();打开一个新的浏览器窗口
返回新的window 对象
 //打开一个新窗口

      <input id="openBtn" type="button" value="打开窗口">
<input id="closeBtn" type="button" value="关闭窗口">
var newWindow;
var openBtn = document.getElementById("openBtn");
openBtn.onclick=function(){
//打开窗口
newWindow= open("http://www.baidu.com");
}
//关闭
var closeBtn = document.getElementById("closeBtn");
closeBtn.onclick=function(){
//关闭窗口
newWindow.close();
}
            *与定时器有关的
1.setTimeout(); 在指定的毫秒数后调用函数或计算表达式
clearTimeout();取消上述
参数:
1.js代码或方法对象
2.毫秒值
返回值:
唯一标号,用于取消定时器 2.setInterval();指定周期
clearInterval();取消

 //一次性的定时器
var id = setTimeout("alert('boom~~~')",3000); //取消
clearTimeout(id)
function fun(){ alert('boom~~~~~');
}
//循环定时器
setInterval(fun,2000); //每隔2秒出现弹框

定时


          3:属性:
1.获取BOM对象
history
location
Navigator
Screen
2.获取Dom对象
document 4.特点:
不需要创建,直接使用window使用 window.方法名();
window引用可以省略.
       Location : 地址栏对象
           方法:
* 1.reload 刷新
* 2.href :跳转

 var btn = document.getElementById("btn");
btn.onclick=function(){
location.reload(); } var href = location.href;
var gotobaidu = document.getElementById("gotobaidu");
gotobaidu.onclick=function(){ location.href="https://www.baidu.com"; }

简单的刷新跳转

           Navigator :浏览器对象

Screen: 显示器屏幕对象
History : 历史记录对象
              属性:
* length 返回当前窗口历史列表中的url值.
 var btn = document.getElementById("btn");
btn.onclick =function(){ var length = history.length;
alert(length) }

 document  文档对象

1.创建
window.document
document
2.方法
1.获取Element对象
1.getElementByIdById();根据id属性直接获取元素对象,id一般唯一
2.getElementsByTagName();根据元素名称获取元素名称们,返回值是一个数组
3.getElementsByClassName();根据class属性值获取元素对象们
4.getElementsByName();根据name属性获取元素对象们
 <div id="div1">div1</div>
<div id="div2">div2</div>
<div id="div3">div3</div> <div class="cls1">div4</div>
<div class="cls1">div5</div> <input type="text" name="username">
<script>
//1.
//2.
var divs = document.getElementsByTagName("div");
alert(divs.length); //
var cls1 = document.getElementsByClassName("cls1");
alert(cls1.length); //4.
var user = document.getElementsByName("username");
alert(user.length); </script>

 2.创建其他DOM对象
createAttribute(name)
createComment()
createElement()
createTextNode()
3.属性
. Element 元素对象
1.获取/创建:通过document来获取和创建
2.方法:
1.removeAttribute();:删除属性
2.setAttribute(): 设置属性
Node:节点对象,其他的5个父对象
  Element对象
   <a>点我试一试</a>
<input type="button" id="btn_set" value="设置属性">
<input type="button" id="btn_remove" value="删除属性">
<script>
//获取btn
var btn_set = document.getElementById("btn_set");
btn_set.onclick=function(){
//获取a标签
var element = document.getElementsByTagName("a")[0];
element.setAttribute("href","https://www.baidu.com");
} var btn_remove = document.getElementById("btn_remove");
btn_remove.onclick=function(){
//获取a标签
var element = document.getElementsByTagName("a")[0];
element.removeAttribute("href");
} </script>

 Node 节点对象

节点对象 :其他5个的父对象
特点:所有dom对可以认为是一个节点
方法:
CRUE dom 树:
appendChild():向节点的子对象列表的节点添加字节点
removeChild():删除并返回当前节点的指定子节点
replaceChild():替换

 <title>节点对象</title>
<style>
div{
border: 1px solid red;
}
#div1{
width: 200px;
height: 200px;
}
#div2{
width: 100px;
height: 100px;
}
#div3{
width: 120px;
height: 120px;
color: aqua;
} </style>
</head>
<body>
<div id="div1">
<div id="div2"></div>
div1
</div>
<a href="JavaScript:void(0)" id="del">删除div的子节点</a>
<a href="JavaScript:void(0)" id="add">增加div的子节点</a>
<!--<button id="del">删除子节点</button>-->
<script>
var element_a = document.getElementById("del");
element_a.onclick=function () { var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
div1.removeChild(div3) }
var element_add = document.getElementById("add");
element_add.onclick=function () { var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
var div3 = document.createElement("div");
div3.setAttribute("id","div3");
div1.appendChild(div3); }
</script>

节点对象

事件对象系统学习
事件:操作
事件源:组件
监听器:代码
注册监听:将事件,事件源,监听器结合在一起 常见的事件:
1.点击事件
onclick:单击事件
ondblclick:双击事件
2.焦点事件
onblur:失去焦点 一般用于表单校验
onfocus:元素获得焦点 3.加载事件
onload:一张页面或一幅图像加载完成后实现
4.鼠标事件
onmousedown:鼠标按钮被按下
*定义方法时,定义一个形参,结束event对象
*event对象的button属性可以获得鼠标的哪个键被点击了
onmousemove:鼠标被移动
onmouseout:鼠标从某元素被移开
onmouseover:鼠标移动到某元素上
onmouseup:鼠标按键被松开 5.键盘事件
onkeydown:键盘某个按键被按下
onkeyup:键盘按键被松开
onkeypress:某个按下并松开
6.选择和改变
onchange:域的内容被改变
onselect:文本被选中
7,表单事件
onsubmit:确认按钮被点击,表单提交
可以阻止表单的提交,校验表单
onreset:重置

 //加载事件
window.onload=function(){
//失去焦点事件
document.getElementById("username").onblur=function(){
alert("失去焦点了");
}
//鼠标移到元素之上
document.getElementById("username").onmouseover=function(){
alert("鼠标来了");
}
//鼠标点击事件
document.getElementById("username").onmousedown=function(event){
//alert("鼠标点击了");
alert(event.button);
}
//键盘被点击事件
document.getElementById("username").onkeydown=function(event){
//alert("键盘按了");
if (alert(event.keyCode==13)){
alert("提交表单");
}
}
//改变了触发
document.getElementById("username").onchange=function(event){
//alert("键盘按了"); alert("改变了...");
}
document.getElementById("city").onchange=function(event){
//alert("键盘按了"); alert("改变了...");
} } //表单校验
document.getElementById("from").onsubmit=function(){
//
var flag=true; return flag; } </script>

事件的简单案例

       



JS 浏览器BOM的更多相关文章

  1. JS浏览器BOM

    浏览器对象模型 (BOM)  BOM的核心是window,而window对象又具有双重角色,它既是通过js访问浏览器窗口的一个接口,又是一个Global(全局)对象.这意味着在网页中定义的任何对象,变 ...

  2. JavaScript基础16——js的BOM对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Js浏览器对象

    Js浏览器对象——window对象 1.window对象: (1)window对象是BOM的核心,window对象指当前的浏览器窗口. (2)所有的JavaScript全局对象.函数以及变量均自动成为 ...

  4. JS浏览器对象:window对象、History、Location对象、Screen对象

    一.JS浏览器对象-window 1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口 所有JavaScript全局对象.函数以及变量均自动成为window对象的成 ...

  5. JS基础-BOM

    BOM BOM 是 browser object model 的缩写, 简称浏览器对象模型. 主要处理浏览器窗口和框架, 描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可 ...

  6. JS的BOM操作语法

    整理了一下JS的BOM操作语法,这里记录一下. <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...

  7. js,bom,dom(相信我,你看不懂我写的)

    js dom bom 2种结合方式: 1.在body中加入script标签,<script type="text/javascript" >alert(" 向 ...

  8. atitit.js浏览器环境下的全局异常捕获

    atitit.js浏览器环境下的全局异常捕获 window.onerror = function(errorMessage, scriptURI, lineNumber) { var s= JSON. ...

  9. JS神经网络deeplearn.js:浏览器端机器智能框架

    JS神经网络deeplearn.js:浏览器端机器智能框架 通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型. deeplearn.js 以 TypeS ...

随机推荐

  1. mac下protobuf配置记录

    sudo vi /etc/profile加到文件底部 export PATH=$PATH:$GOBIN:/usr/local/go/bin export GOPATH=/Users/jinfuzhan ...

  2. 【转】Ubuntu下解决Depends: xxx(< 1.2.1) but xxx is to be installed

    在ubuntu下由于更新package不成功,或者误删除了一些文件会出现Depends: xxx(< 1.2.1) but xxx is to be installed解决方法是先试着安装所缺的 ...

  3. DHCPV6 vs DHCPV4

    原文链接:https://blog.csdn.net/kdb_viewer/article/details/83310904 一.DHCPv4 vs DHCPv6 1. 相同点 使用DHCP clie ...

  4. 个人项目(C语言)

    GitHub地址:https://github.com/dachai9/personal-project.git 1. WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数 ...

  5. css基本样式设置

    div中文字居中 如何让一个div中的文字水平和垂直居中?设置如下: 给定该div的长宽(或者二者只给出其一也可) .box{ height: 100px; width: 30%; text-alig ...

  6. 双操作系统(ubuntu/windows7)安装教程

    前言 前两天出于项目原因,本人心血来潮地给久经战场的电脑老大哥找个小媳妇,哈哈哈,装了两个系统.分别是用了多年的win7和接触不久的Ubuntu,在其中遇到了一些坑,在此记录下来,希望能给自己和大家带 ...

  7. istio的安全(概念)

    Istio 安全(概念) 目录 Istio 安全(概念) 高层架构 Istio身份 身份和证书管理 认证 Mutial TLS认证 宽容(Permissive)模式 安全命名 认证架构 认证策略 策略 ...

  8. laravel中elastisearch安装和测试运行是否成功(注意是windows下的操作)

    1.去elasticsearch官网下载,如果太慢可以在我上一个随笔看下载地址 2.下载完解压缩,在cmd中找到到elasticsearch的bin目录下执行.\elasticsearch.bat - ...

  9. 【Unity C#编程】自定义数据

    译林军 灰魅|2014-03-04 10:52|10589次浏览|Unity(315)移动应用(31)技术开发(16)0 在这篇Unity C#的文章中,你将会创建一个简单的数据结构,然后写下它的属性 ...

  10. Activiti7 学习总结

    什么是工作流? 就是通过计算机对业务流程进行自动化处理,实现多个参与者按照预定义的流程去自动执行业务流程 什么是Activiti? Activiti是一个工作流引擎,开源的架构,基于BPMN2.0标准 ...