学习js

js对象
document location history 内置对象
一、document 是html标签 样式变化 数据显示之类的
DOM(document object model)
1.先获取元素
如何获取dom(document object model)的元素
获取方式:首先在<body>中有一个按钮
<button id=“btn” class=“btnlist” name=“btninfor”>按钮</button>
通过类名称获取:var btn=document.getElementsByClassName(“btnlist”);
console.log(btn);返回集合 htmlcollection 用法和数组一致
console.log(btn[0]);可以拿到当前对象
通过元素名称获取: var btn1=document.getElementByName(“btninfor”)
console.log(btn1); 返回的是节点类型
console.log(btn1[0]);可以拿到当前对象
通过元素id 名称获取:var btn2=document.getElementById(“btn”);
console.log(btn2);**可以直接获取当前对象;(返回的是单个对象 可以直接使用)
通过标记名称获取:(通过标签的名称):var btn3=document.getElementByTagName(“button”);
console.log(btn3[0]);
var btn4=document.querySelector(".bynlist");
console.log(btn4);//返回的是集合
var btn5=document.querySelectorAll("#btn");
console.log(btn5);
获取body 元素 console.log(document.body);

2.操作DOM元素
如何操作dom元素 操作dom元素的属性和行为(事件)
首先在<body>中写一个<button>
《1》操作属性: 获取它 var btn=document.getElementByTagName(“button”);
修改属性的操作:btn[0].style.background=“red”;
btn[0].style.width=“200px”;
**js直接操作的元素属性都是行内的;
获取对象的属性(行内样式):console.log(btn[0].style.width);
js获取非行内样式(不能用上述方法)
可以用:console.log(Window.getComputedStyle(btn[0]).height);
《2》操作dom元素的事件
dom事件有:(事件前缀都带on)
键盘事件:onkeydown键盘按下;onkeyup键盘抬起;onkeypress按键事件;
表单事件:onfocus获焦事件; onblur失去焦点;
鼠标事件:onclick鼠标单击事件;ondbclick鼠标双击事件;onmouseleave鼠标水平离开事件
onmouseout鼠标垂直离开(三维坐标);onmousemove鼠标移动事件;onmouseheel鼠标滚轮;
onmouseenter鼠标进入事件;onmouseover鼠标悬停事件;
浏览器事件(Window事件)onload加载完成事件;onresize浏览器窗口变化事件
onerror报错事件;onscroll滑动条事件;
触屏事件:touchstart开始触屏;touchmove触屏移动事件;touchend触屏结束;
如何给dom元素添加事件:
(1)常规添加 直接在标签上添加事件;比如:<button οnclick=“里面写函数的调用”>按钮</button>
(2)动态给dom元素添加事件 :<button id=“btn”>按钮</button>
首先先获取元素:var btn=document.getElementById(“btn”);
btn.οnclick=function(){
console.log(1);
}
或者:btn.οnclick=showinfo;此时不能添加小括号
function showinfo(){
console.log(1);
}
(3) 事件的监听按钮</button>
var btn2=document.getElementById(“btn2”);
btn2.addEventListener(“click”,function(){
console.log(2);
});

事件的执行参数:
//鼠标点击事件
<button id=“btn”>按钮</button>
var btn=document.getElememtById(“btn”);
btn.οnclick=function(e){//e也可以写成 var e=window.event;
console.log(e);//e event 事件的执行参数
var target=e.target||e.srcElement; //当前点击的目标元素
console.log(target);//目标元素;
};
//键盘事件
document.body.οnkeypress=function( ){
var e=window.event;
console.log(e.keyCode);
}
//鼠标移动事件
document.body.οnmοusemοve=function(e){
var pageX=e.pageX||e.clientX;
var pageY=e.pageY||e.clientY;
console.log(pageX,pageY);
}
JS里面的this 可以指代当前事件的执行对象
函数里面的this指代Window里的对象
冒泡
在js里面要尽量避免事件的冒泡 只需要执行子容器 只有onclick会出现冒泡
如何处理事件的冒泡:在子容器中写
e.stopPropagation();//阻止事件冒泡
e.preventDefault();//阻止事件的默认行为
return false;//阻止冒泡
但是在js中只有第一个可以阻止事件冒泡;

事件的委托:父容器的事件委托给子容器去执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网上有人分享经验,说到学习前端开发技术JavaScript很实用的一些书籍,从入门到高级,一一列举,很不错。整理了一下发上来。 名称: JavaScript+DOM编程艺术.pdf 概述: “本书理应奉为经典。文笔清晰,采用了优秀的编程原则,严格遵守相应的标准。真是完美的结合。” ——Slashdot “我要隆重推荐本书。它前所未有地演示了DOM脚本编程的真正潜力。无论你是JavaScript新手还是专家,本书都绝对必读。”——Garrent Dimon,Digital-Web.com 随着Ajax的兴起,JavaScript再一次成为炙手可热的技术。然而,在历史上,它并不是一直这么幸运,由于主流浏览器之间的不兼容,以JavaScript为核心的DHTML曾经昙花一现,很快被人遗忘。 俱往矣,如今的网页设计已经翻开了新的一页。在CSS彻底改变了Web页面布局的方式之后,万维网联盟跨浏览器的DOM标准的制定,使JavaScript终于突破瓶颈,成了大大改善网页用户体验的利器。 本书在简洁明快地讲述JavaScript和DOM的基本知识之后,过几个实例演示了大师级的网页开发技术,并透彻阐述了一些至关重要的JavaScript编程原则和最佳实践,包括预留退路、循序渐进和以用户为中心等。读者可以非常直观地加以领悟,迅速使自己的编程技术更上一层楼。 第1章 JavaScript简史  1.1 JavaScript的起源  1.2 浏览器之争  1.3 制定标准  1.4 小结 第2章 JavaScript语法  2.1 准备工作  2.2 语法  2.3 语句  2.4 变量  2.5 操作  2.6 条件语句  2.7 循环语句  2.8 函数  2.9 对象  2.10 小结 第3章 DOM  3.1 文档:DOM中的“D”  3.2 对象:DOM中的“O”  3.3 模型:DOM中的“M”  3.4 趁热打铁  3.5 小结 第4章 案例研究:JavaScript美术馆  4.1 编写标记语言文档  4.2 编写JavaScript函数  4.3 JavaScript函数的调用  4.4 对JavaScript函数进行功能扩展  4.5 小结 第5章 JavaScript编程原则和良好习惯  5.1 不要误解JavaScript  5.2 预留退路  5.3 向CSS学习  5.4 分离JavaScript  5.5 向后兼容性  5.6 小结 第6章 案例研究:JavaScript美术馆改进版  6.1 快速回顾  6.2 解决“预留退路”问题  6.3 解决“分离JavaScript”问题  6.4 JavaScript函数的优化:不要做太多的假设  6.5 DOM Core和HTML-DOM  6.6 小结 第7章 动态创建HTML内容  7.1 [removed]()方法  7.2 innerHTML属性  7.3 DOM提供的方法  7.4 重回“JavaScript美术馆”  7.5 小结  7.6 下章简介 第8章 充实文档的内容  8.1 不应该做的事情  8.2 把“不可见”变成“可见”  8.3 原始内容  8.4 XHTML文档  8.5 CSS  8.6 JavaScript代码  8.7 小结  8.8 下章简介 第9章 CSS-DOM  9.1 三位一体的网页  9.2 style属性  9.3 何时该用DOM脚本去设置样式信息  9.4 className属性  9.5 小结 第10章 用JavaScript实现动画效果  10.1 何为动画  10.2 实用的动画  10.3 改进动画效果  10.4 最后的优化  10.5 小结 第11章 学以致用:JavaScript网站设计实战  11.1 案例背景介绍  11.2 页面视觉效果设计  11.3 CSS  11.4 颜色  11.5 XHTML文档  11.6 JavaScript脚本  11.7 小结  11.8 下章简介 第12章 展望DOM脚本编程技术  12.1 Web的现状  12.2 Ajax技术  12.3 Web应用  12.4 小结 附录 DOM方法和属性

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值