当前位置: 首页 > news >正文

望野眼如何进行seo搜索引擎优化

望野眼,如何进行seo搜索引擎优化,自己的电脑做网站,长沙企业关键词优化一、简介 ​ 事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为,如 用户点击了某个HTML元素用户将鼠标移动到某个HTML元素上用户输入数据时光标离开页面加载完成 ​ 事件源:事件触发的源头&#xf…

一、简介

​ 事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为,如

  • 用户点击了某个HTML元素
  • 用户将鼠标移动到某个HTML元素上
  • 用户输入数据时光标离开
  • 页面加载完成

事件源:事件触发的源头,即触发事件的元素,如按钮、输入框、超链接等

事件对象:当一个事件发生时,这个事件相关的详细信息会被保存到一个对象中,称为event对象

事件监听:监听事件的发生,绑定事件函数,当事件被触发后执行该事件函数,即回调函数

二、绑定事件

​ 三种方式:

  • 静态绑定,通过为标签的事件属性赋值
<head>    <script>function f1(){console.log("静态绑定");}</script>
</head>
<body><!--方式1:通过标签的事件属性--><button onclick="f1()">按钮1</button>
</body>
  • 动态绑定,通过为DOM对象的事件属性赋值
<head><script>//当页面加载完成后执行window.onload=function(){var btn2=document.getElementById("btn2");//方式2:通过DOM对象的事件属性,为按钮绑定点击事件btn2.onclick=function(){console.log("动态绑定");}}</script>
</head>
<body><button id="btn2">按钮2</button>
</body>
  • 动态绑定,通过为DOM对象进行事件监听,使用addEventListene("事件名",回调函数)
<head>   <script>//当页面加载完成后执行window.onload=function(){//方式3:通过为DOM对象进行事件监听addEventListenervar btn3=document.getElementById("btn3");btn3.addEventListener("click",function(){console.log("动态绑定");});}</script>
</head>
<body><button id="btn3">按钮3</button>
</body>

 注意:

  • 可以通过事件回调函数的第一个参数获取事件对象event,属性含义:
    target      事件的目标元素,即事件源type            事件类型timeStamp   事件生成的日期和时间clientX     当事件被触发时,鼠标指针的水平坐标clientY     当事件被触发时,鼠标指针的垂直坐标
  • 在事件回调函数中,this表示事件源,即发生事件的元素 
<head><script>//当页面加载完成后执行window.onload=function(){var btn=document.getElementById("btn");btn.onclick=function(event){//事件触发时会自动为回调函数传入一个参数,表示event事件对象console.log(111);console.log(event);console.log(typeof event);console.log(event.target);//事件源console.log(event.type);//事件类型console.log(this);//事件源,等同于console.log(event.target);}}function f1(event){console.log(event);}</script>
</head>
<body><button id="btn">点我</button><!--静态绑定事件时,需要在绑定事件回调函数时接收事件对象参数--><button onclick="f1(event)">click me</button>
</body>

 三、常用事件

1、鼠标事件

事件名描述
onclick鼠标单击
ondblclick鼠标双击
onmouseover鼠标移到某元素之上
onmouseout鼠标从某元素上移开
onmousedown鼠标按钮被按下
onmouseup鼠标按键被松开
onmousemove鼠标被移动
oncontextmenu鼠标右键单击
<head><script>window.onload=function(){var btn=document.getElementById("btn");//鼠标事件//btn.onclick=function(){}//鼠标单击//btn.ondblclick=function(){}//鼠标双击/*btn.onmouseover=function(){//鼠标经过console.log(111);}btn.onmouseout=function(){//鼠标离开console.log(222);}btn.onmousedown=function(){//鼠标按下console.log(111);}btn.onmouseup=function(){//鼠标松开console.log(222);}btn.onmousemove=function(){//鼠标移动console.log(111);}*/btn.oncontextmenu=function(){//鼠标右击console.log(111);}}</script>
</head>
<body><button id="btn">点我</button>
</body>

2、键盘事件

事件名描述
onkeydown某个键盘的键被按下去
onkeypress某个键盘的键被按下去且松开
onkeyup某个键盘的键被松开
<head>     <script>//键盘事件var username=document.getElementById("username");username.onkeydown=function(e){//键盘的键被按下去//console.log(111);//console.log(e.keyCode);//获取按键码if(e.keyCode==13){//当输入回车后才会输出111(回车键码是13)console.log(111);}}/*username.onkeypress=function(){//键盘的键被按下去且松开console.log(222);}username.onkeyup=function(){//键盘的键被松开console.log(333);}*/}</script>
</head>
<body>用户名:<input type="text" id="username"> 
</body>

3、表单事件

事件名描述
onfocus元素获得焦点
onblur元素失去焦点
onchange域的内容发生改变,一般用于文件选择器和下拉列表
onselect文本内容被选中
onsubmit表单提交前触发,回调函数返回true表示允许表单提交,返回false表示阻止表单提交

表单元素的方法:focus()、blur()、select()、click()

<head><style>#username,#email{outline: 0;}.border{border: 1px solid red;}#img{width:100px;height:100px;}#head{display:none;}/*被选中的内容为红色*//*#email::selection{color:red;}*/</style><script>//表单事件window.onload=function(){var username=document.getElementById("username");username.onfocus=function(){//元素获得焦点username.classList.add("border");}username.onblur=function(){//元素失去焦点username.classList.remove("border");}document.getElementById("eat").onchange=function(){//域的内容发生改变console.log(this.checked);//获取是否选中}document.getElementById("head").onchange=function(){//console.log(this.files);//获取选择的文件数据document.getElementById("img").src=window.URL.createObjectURL(this.files[0]);//根据选中的图片改src}document.getElementById("email").onselect=function(){//文本内容被选中this.classList.add("border");}document.getElementById("frm").onsubmit=function(){//判断表单内容是否符合要求var email=document.getElementById("email").value;if(email==""){return false;}return true;}}</script>
</head>
<body><form action="" id="frm">用户名:<input type="text" id="username"><br>爱好:<input type="checkbox" name="hobby" id="eat" value="eat">吃饭<br>头像:<input type="file"  id="head" multiple><!--可同时选多个文件--><label for="head"><img src="./默认头像.png" id="img"></label><br>邮箱:<input type="text" id="email" value="tom@sina.com.cn" name="email"><br><input type="submit" value="提交"></form>
</body>

四、事件操作

1、事件流

概念:当一个HTML元素产生事件时,该事件会在当前元素与根元素之间按特定的顺序传播,所有经过的节点都会收到该事件并执行,这个传播过程就是DOM事件流。

​ 分类:事件冒泡、事件捕获

2、事件冒泡/事件捕获

事件冒泡:当一个元素上的事件被触发时,事件从事件源开始,往上冒泡直到页面的根元素,这一过程被称为事件冒泡(默认方式)

事件捕获:当一个元素上的事件被触发时,事件从页面的根元素开始,往下直到事件目标元素,这一过程被称为事件捕获

阻止事件冒泡 :event.stopPropagation()

<head><style>div{border:1px solid black;}#div1{width:200px;height:200px;}#div2{width:150px;height:150px;}#div3{width:100px;height:100px;}#div4{width:50px;height:50px;}</style><script>function $(id){return document.getElementById(id);}window.onload=function(){$("div1").addEventListener("click",function(){console.log("div1");},false)//第三个参数为true表示采用事件捕获,默认为false表示事件冒泡$("div2").addEventListener("click",function(){console.log("div2");},false)$("div3").addEventListener("click",function(event){console.log("div3");event.stopPropagation();//阻止事件传播},false)$("div4").addEventListener("click",function(){console.log("div4");},false)};</script>
</head>
<body><div id="div1" onclick="print(' div1' )">div1<div id="div2" onclick="print(' div2' )">div2<div id="div3" onclick="print(' div3' )">div3<div id="div4" onclick="print(' div4' )">div4</div></div></div></div>
</body>

 3、事件代理/事件委托

​ 概念:利用事件冒泡/事件捕获机制,通过给父元素绑定事件,从而实现对所有子元素的事件管理,无需为每个子元素绑定事件

​ 优点:1.减少事件注册,降低内存占用

​            2.新增元素时实现动态绑定事件

<head>     <style>ul{border:1px solid #ccc;}li{background: pink;}</style><script>window.onload=function(){/*var lis=document.querySelectorAll("li");for(var li of lis){li.onclick=function(){console.log(this);//事件源console.log(this,innerText);}}*/document.querySelector('ul').onclick=function(e){console.log(e.target.innerText);//console.log(e.target);//触发事件的原始对象console.log(this);}}function add(){var li=document.createElement("li");li.innerText="li6";/*li.onclick=function(){console.log(this,innerText);}*/document.querySelector('ul').appendChild(li);}</script>
</head>
<body><button onclick="add()">添加li</button><ul><li>li1</li><li>li2</li><li>li3</li><li>li4</li><li>li5</li></ul>
</body>

4、事件默认行为

​ 概念:当一个事件发生时浏览器自己会默认做的事情,如:点击链接时默认会跳转,右键点击时默认会弹出菜单

​ 阻止事件的默认行为:e.preventDefault();

<head> <script>function print(e){console.log(111);e.preventDefault();//阻止事件的默认行为}</script>
</head>
<body><button oncontextmenu="print(event)">右键点击</button><br><a href="https://www.baidu.com" onclick="print(event)">百度</a><!--<a href="JavaScript:print()">百度</a>-->
</body>

 

http://www.khdw.cn/news/10519.html

相关文章:

  • 免费网站入口营销技巧第三季
  • 网站开发哪种框架网络优化包括
  • 三亚疫情最新通知上海百度seo网站优化
  • 用Axure做的原型网站百度云微信朋友圈广告
  • 0基础怎么做网站模版信息发布平台推广
  • 淄博做网站建设的公司网站设计公司排行
  • 百度推广效果不好怎么办郑州官网关键词优化公司
  • 医院网站管理办法seo网站优化排名
  • 手机网站模板带后台索引擎优化 seo
  • 163k系统功能介绍企业整站优化
  • 定州网站建设兼职长沙关键词优化新行情报价
  • 做3d效果的网站福州网络推广运营
  • 武汉专业建网站网络公关公司联系方式
  • 重庆百度网站公司哪家好品牌策划公司
  • 公司建立网站怎么做分录东莞推广服务
  • 汕头设计网站建设免费引流人脉推广软件
  • 成都网站排名公司公众号软文怎么写
  • 网站策划就业前景seo推广工具
  • 美容院网站制作搜索引擎谷歌
  • 企业微信网站开发公司营销型网站建设的公司
  • 自己网站做问卷调查问卷hao123影视
  • 做网站建设注册商标是多少类semseo
  • 级a做爰片免费视网站他达拉非什么是
  • 邢台市123seo公司赚钱吗
  • 保定网站建设多少钱哪家好竞价专员是做什么的
  • 做网站 博客宁波网络推广平台
  • 如何攻击php网站推广公司
  • 东莞做网站优化哪家好100个常用的关键词
  • 软件项目管理第二版课后答案seo关键词排名技术
  • 受欢迎的广州做网站优秀软文营销案例