dom绑定事件操作
s7.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
#test{
background-color: red;
width:300px;
height:400px;
}
</style>
<body>
<div id="test">
sdsd
</div>
<script>
var mydiv=document.getElementById('test');
mydiv.onclick=function () {
console.log('wwwwwwwwwwwwww')
}
</script>
</body>
</html>
行为 样式相分离
S8.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" onclick="AddEle1();" value="+">
<input type="button" onclick="AddEle2();" value="+">
<div id="i1">
<p><input type="text"></p>
<!--<hr/> 分隔线标签-->
</div>
<script>
function AddEle1() {
//创建一个标签
//将标签添加到i1里面
var tag="<p><input type='text'/></p>";
//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'
document.getElementById('i1').insertAdjacentHTML("afterEnd",tag);
}
function AddEle2() {
//创建一个标签
//将标签添加到i1里面
var tag=document.createElement('input'); //创建一个input标签
tag.setAttribute('type','text')
tag.style.fontSize="16px";
tag.style.color='red';
var p=document.createElement('p'); //创建p标签
p.appendChild(tag)
document.getElementById('i1').appendChild(p) //添加p标签
}
</script>
</body>
</html>
</body>
</html>
S9.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form id='f1' action="http://www.baidu.com">
<input type="text">
<input type="submit" value="提交">
<a onclick="submitForm();">提交1</a>
</form>
<script>
function submitForm() {
document.getElementById('f1').submit();
alert(123);
var v=confirm('确定?');
console.log(v)
}
var obj=setInterval(function(){
console.log(1);
},1000)
clearInterval(obj);
</script>
</body>
</html>
提交表单
任何标签通过DOM都可以提交表单
document.getElementById('f1').submit();
alert(); 弹窗
confirm('确定?') 确认框 确认为true 取消为false
console.log(v) console口打印
location.href 获取当前url
location.href="http://www.baidu.com" 设置当前url 用于做重定向 跳转
location.href=location.href 刷新
location.reload(); 刷新
var obj=setInterval(function(){},5000) 定时器 5000毫秒执行一次函数
clearInterval(obj);清除定时器
setTimeout 定时器只执行一次
obj= setTimeout(function (){},5000)
清除定时器
claerTimeout(obj);
S10.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="status"></div>
<input type="button" value="删除" onclick="deleteEle(); "/>
<script>
function deleteEle() {
document.getElementById('status').innerText="已经删除";
obj= setTimeout(function () {
document.getElementById('status').innerText='';
},5000)
clearTimeout(obj)
}
</script>
</body>
</html>
document.getElementById('status').innerText="已经删除"; 重新添加标签内容
S11.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table border="1" width="300px">
<tr onmouseover="t1(0);" onmouseout="t2(0);"><td>1</td><td>2</td><td>2</td></tr>
<tr onmouseover="t1(1);" onmouseout="t2(1);"><td>1</td><td>2</td><td>2</td></tr>
<tr onmouseover="t1(2);" onmouseout="t2(2);"><td>1</td><td>2</td><td>2</td></tr>
</table>
<script>
function t1(n) {
var mytrs=document.getElementsByTagName('tr')[n];
mytrs.style.backgroundColor='red';
}
function t2(n) {
var mytrs=document.getElementsByTagName('tr')[n];
mytrs.style.backgroundColor='';
}
</script>
</body>
</html>
dom0的方式
绑定事件的两种方式:
a.直接标签绑定 onclick='' onfocus=''
b.先获取dom对象,然后进行绑定
document.getElementById('xx').onclick
document.getElementById('xx').onfocus
this 当前触发事件的标签
a.第一种绑定方式
<input id="i1" type="button" onclick="clickon(this)">
function clickon(self){
//self 代指当前点击的标签
}
b.第二种绑定方式
<input id="i1" type="button" >
document.getElementById('xxx').onclick=function(){
//this 代指当前点击的标签
}
c.第三种绑定方式
var mycontent=document.getElementById('i1');
mymain.addEventListener('click',function(){console.log('aaaaa')},false);
mymain.addEventListener('click',function(){console.log('bbbbb')},false);
作用域示例
var mytrs=document.getElementsByTagName('tr');
var len=mytrs.length;
for(var i=0;i<len;i++){
mytrs[i].onmouseover=function () {
this.style.backgroundColor="red";
}
mytrs[i].onmouseout=function () {
this.style.backgroundColor="";
}
S12.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table border="1" width="300px">
<tr><td>1</td><td>2</td><td>2</td></tr>
<tr><td>1</td><td>2</td><td>2</td></tr>
<tr><td>1</td><td>2</td><td>2</td></tr>
</table>
<script>
var mytrs=document.getElementsByTagName('tr');
var len=mytrs.length;
for(var i=0;i<len;i++){
mytrs[i].onmouseover=function () {
this.style.backgroundColor="red";
}
mytrs[i].onmouseout=function () {
this.style.backgroundColor="";
}
}
</script>
</body>
</html>
dom1的方式
this 光标指向那个tr就指向那个tr
S12-1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.hide{
display: none;
}
.item .header{
height: 35px;
background-color: #2459a2;
color: white;
line-height: 35px;
}
</style>
</head>
<body>
<div style="height: 48px;"></div>
<div style="width: 300px;">
<div class="item">
<div class="header" onclick="ChangeMenu(this);">菜单1</div>
<div class="content">
<div>内容1</div>
<div>内容1</div>
<div>内容1</div>
</div>
</div>
<div class="item">
<div class="header" onclick="ChangeMenu(this);">菜单2</div>
<div class="content hide">
<div>内容2</div>
<div>内容2</div>
<div>内容2</div>
</div>
</div>
<div class="item">
<div class="header" onclick="ChangeMenu(this);" >菜单3</div>
<div class="content hide">
<div>内容3</div>
<div>内容3</div>
<div>内容3</div>
</div>
</div>
<div class="item">
<div class="header" onclick="ChangeMenu(this);" >菜单4</div>
<div class="content hide">
<div>内容4</div>
<div>内容4</div>
<div>内容4</div>
</div>
</div>
</div>
<script>
function ChangeMenu(ths) {
var current_header=ths;
var item_list=current_header.parentElement.parentElement.children;
for (var i=0;i<item_list.length;i++){
var current_item=item_list[i];
current_item.children[1].classList.add('hide');
}
current_header.nextElementSibling.classList.remove('hide');
}
</script>
</body>
</html></title>
</head>
<body>
</body>
</html>
S12-2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
#test{
background-color: red;
width:300px;
height:400px;
}
</style>
<body>
<div id="test">
sdsd
</div>
<script>
var mydiv=document.getElementById('test');
mydiv.addEventListener('click', function(){console.log('aaaaa')},false);
mydiv.addEventListener('click', function(){console.log('bbbbb')},false);
</script>
</body>
</html>
dom2绑定方法
S13.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
#main{
background-color: red;
width: 300px;
height:400px;
}
#content{
background-color: pink;
width: 150px;
height:200px;
}
</style>
<body>
<div id="main">
<div id="content"></div>
</div>
<script>
var mymain=document.getElementById('main');
var mycontent=document.getElementById('content');
mymain.addEventListener('click',function(){console.log('main')},false);
mycontent.addEventListener('click',function(){console.log('content')},false); //冒泡 底下的先出来 true的模式刚好相反
</script>
</body>
</html>
S14.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function t1(age) { //age 先找到函数声明表达式 function age()
console.log(age); //function age()
var age=27;
console.log(age); //27
function age() {}; //没有调用,通过
console.log(age); // 27 没有改变
}
t1(3);
</script>
</body>
</html>
active object ====>> AO 活动对象
1.形式参数
2.局部变量
3.函数声明表达式
1.形式参数
AO.age=undefined
AO.age=3
2.局部变量
AO.age=undefined
3.函数声明表达式 优先级最高
AO.age=function()
dom绑定事件操作的更多相关文章
- 关于动态生成dom绑定事件失效的原因
之前做项目都是直接用jquery的bind绑定事件,不过当时都不是动态生成dom元素,而是已经页面中原本存在的dom元素进行事件绑定,最近在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试 ...
- 10-JavaScript之DOM的事件操作
JavaScript之DOM的事件操作 1.介绍 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等 ...
- 前端 ----关于DOM的事件操作
关于DOM的事件操作 一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for ...
- python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...
- 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍
昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...
- JavaScript Dom 绑定事件
JavaScript Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick document.getElementByI ...
- 关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
- 10-关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
- js --- 关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
- js中 关于DOM的事件操作
一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...
随机推荐
- Arduino语法--运算符
本节介绍最常用的一些Arduino运算符,包括赋值运算符.算数运算符.关系运算符.逻辑运算符和递增/减运算符. 一. 赋值运算符 =(等于)为指定某个变量的值,例如:A=x,将x变量的值放入A变量. ...
- Qt Qss 设置QPushButton图标和背景
文章目录 Qt QSS 设置 QPushButton的图标叠加背景 前言 解决方法 background-repeat.background-position 最终样式 Qt QSS 设置 QPush ...
- react使用插件配置px转换为vw
react配置px转换为vw 1.下载postcss-px-to-viewport插件 npm install postcss-px-to-viewport --save-dev 2.下载craco ...
- js回忆录(5),终章
无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即逝的现实. --马尔克斯 <百年孤独> 人生就 ...
- linux下npm安装的全局命令无法执行
npm install laravel-echo-server -g 安装了之后在其他目录无法执行,找不到命令,在windows下可以直接使用,在linux下需要配置下环境变量 npm prefix ...
- SQLSTATE[HY000] [2002] Connection refused报错 PHP连接docker容器中的mysql
Laradock 是基于 Docker 提供的完整 PHP 本地开发环境 在框架中连接 MySQL 时 报错 SQLSTATE[HY000] [2002] Connection refused 主要还 ...
- halcon 入门教程(一) 预处理图像 (图像平滑,图像增强,二值化,形态学分析)
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18779326 本来今天想写一下halcon深度学习教程(三)目标检测的,不过今天有显卡的那台电 ...
- map_server 中障碍物计算规则
博客地址:https://www.cnblogs.com/zylyehuo/ 参考链接 Autolabor-ROS机器人入门课程<ROS理论与实践> 1.地图中的每一个像素取值在 [0,2 ...
- Coupled Iterative Refinement for 6D Multi-Object Pose Estimation论文精读
目录 Coupled Iterative Refinement for 6D Multi-Object Pose Estimation论文精读 论文介绍 Abstract Introduction Re ...
- MySQL 的 JSON 查询
MySQL 的 JSON 路径格式 MySQL 使用特定的 JSON 路径表达式语法来导航和提取 JSON 文档中的数据 基本结构 MySQL 中的 JSON 路径遵循以下通用格式 $[路径组件] 路 ...