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

信息平台网站模板网站站内优化方法

信息平台网站模板,网站站内优化方法,ps做旅游网站,番禺手机网站建设click,load,mouseover都是事件的名字#xff0c;而响应某个事件的函数就叫做事件处理程序#xff08;或事件侦听器#xff09;。事件处理程序的名字以on开头#xff0c;onclick,onload 事件处理程序#xff08;html事件处理程序#xff0c;dom0级事件处理程序#xff0c… click,load,mouseover都是事件的名字而响应某个事件的函数就叫做事件处理程序或事件侦听器。事件处理程序的名字以on开头onclick,onload 事件处理程序html事件处理程序dom0级事件处理程序dom2级事件处理程序ie事件处理程序跨浏览器事件处理程序 html事件处理程序 1、内置js input typebutton valueclick me onclickalert(clicked)/ 当点击这个按钮时就会显示一个警示框注意:不能在其中使用未经转义的html语法字符 例如双引号小于号,大于号()。 input typebutton valueclick me onclickalert(clicked)/   2、函数调用 script typetext/javascriptfunction showMessage(){alert(Hello world);} /script input typebutton valueclick me οnclickshowMessage()/   事件处理程序中的代码在执行时有权访问全局作用域中的任何代码 3、其他 input typebutton valueclick me onclickalert(value)/input typebutton valueclick me onclickalert(this.value)/   this值等于事件的目标元素 input typebutton valueclick me onclickalert(event.type)/   通过event变量可以直接访问事件对象不用自己定义它 form action postpostinput typetext valueclick me nameusername/input typebutton valueclick me onclickalert(username.value)/ /form   扩展作用域让事件处理程序无需引用表单元素就能访问其他表单字段 html事件处理程序的缺点1、如果用户在html元素一出现在页面上就触发相应的事件但当时的事件处理程序有可能尚不具备执行条件。2、这样扩展事件处理程序的作用域链在不同浏览器中会导致不同的结果不同js引擎遵循的标识符解析规则略有差异很可能会在访问非限定对象成员时出错。3、html与js代码紧密耦合。如果要更换事件处理程序就要改动两个地方html代码和js代码。 DOM0级事件处理程序 通过js指定事件处理程序的传统方式就是将一个函数赋值给一个事件处理程序属性。eg: scriptvar btn document.getElementById(myBtn);btn.onclickfunction(){alert(clicked);} /script input typebutton valueclick me idmyBtn/   使用dom0级方法指定的事件处理程序被认为是元素的方法。因此这时候的事件处理程序是在元素的作用域中运行换句话说程序中通过this引用当前元素 var btn document.getElementById(myBtn); btn.onclickfunction(){alert(this.id); }   在事件处理程序中通过this访问元素的任何属性和方法。以这种方式添加的事件处理程序会在事件流的冒泡阶段被处理 btn.onclick null;//删除事件处理程序   将事件处理程序设置为null后再单击按钮将不会有任何动作发生 DOM2级事件处理程序 var btn document.getElementById(myBtn); btn.addEventListener(click,function(){alert(this.id); },false)   DOM2级事件定义了两个方法用于处理指定和删除事件处理程序的操作addEventListener()和removeEventListener()所有dom都包含这两个方法并且它们都接受3个参数要处理的事件名作为事件处理程序的函数一个布尔值(true表示捕获阶段调用事件处理程序false表示冒泡阶段调用事件处理程序)特点1、与dom0级一样这里添加的事件处理程序依附在作用域中运行要先加载dom再加载js2、可以添加多个事件处理程序 var btn document.getElementById(myBtn); btn.addEventListener(click,function(){alert(this.id); },false) btn.addEventListener(click,function(){alert(Hello world); },false)   3、通过addEventListener()添加的事件处理程序只能使用removeEventListener()移除移除时传入的参数与添加处理程序时的参数相同这也意味着addEventListener()添加的匿名函数将无法移除 var btn document.getElementById(myBtn); btn.addEventListener(click,function(){alert(this.id); },false)//省略其它代码btn.removeEventListener(click,function(){ //没有用alert(this.id); },false)   看似使用了相同的参数实际上第二个参数与传入的那个时完全不同的函数 var btn document.getElementById(myBtn); var handler function(){alert(this.tid) } btn.addEventListener(click,handler,false)//省略其它代码btn.removeEventListener(click,handler,false);//有效   IE事件处理程序 IE实现了与DOM中类似的两个方法attachEvent()和detachEvent()。这两个方法接受相同的两个参数事件处理程序名称与事件处理程序函数由于IE8及更早版本支持事件冒泡所以通过attachEvent()添加的事件处理程序都会被添加到冒泡阶段 var btn document.getElementById(myBtn); btn.attachEvent(onclick,function(){alert(Clicked); alert(this window); //true }) btn.attachEvent(onclick,function(){alert(Hello World); })   注意1、dom0在其所属元素的作用域内运行使用attachEvent()方法的情况下事件处理程序会在全局作用中运行,this等于window如果在编写跨浏览器的代码时牢记这一区别非常重要2、与addEventListener类似可以为一个元素添加多个事件处理程序3、与dom不同的是这些事件处理程序不是以添加它们的顺序执行而是以相反的顺序被触发单机这个例子首先会看到hello world然后才是clicked4、使用attachEvent()添加的事件可以通过detachEvent()来移除条件是必须提供相同的参数。与DOM方法一样这也意味着添加的匿名函数将不能被移除 var btn document.getElementById(myBtn); var handler function(){alert(Clicked); } btn.attachEvent(onclick,handler); //这里省略了其他代码 btn.detachEvent(onclick,handler);   跨浏览器的事件处理程序 要保证处理事件的代码能在大多数浏览器下一致运行只需关注冒泡阶段。第一个要创建的方法是addHandler()它的职责视情况分别使用dom0级方法、dom2级方法或ie方法来添加事件 var EventUtil {addHandler:function(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false);}else if(element.attachEvent){element.attachEvent(ontype,handler)}else{element[ontype] handler;}},removeHandler:function(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false);}else if(element.detachEvent){element.detachEvent(ontype,handler);}else{element[ontype] null;}} }   转载于:https://www.cnblogs.com/wzndkj/p/7907048.html
http://www.zqtcl.cn/news/855453/

相关文章:

  • 建站公司 深圳苏州建站公司
  • 网站怎么做引流呢济南网站微信
  • 一个域名可以做几个网站吗wordpress左右翻转页面
  • 天津人工智能建站系统软件wordpress主题没有小工具
  • 网站的备案流程图视频制作素材
  • 劳务公司网站建设方案建设促销网站前的市场分析
  • 网络营销优化培训网站seo置顶 乐云践新专家
  • 小说网站搭建教程wordpress后台图片
  • 付网站开发费计入什么科目网站开发的历史
  • 站长素材ppt模板免费下载网站开发视频教程迅雷下载
  • 建设一个网站怎么赚钱南京江北新区房价走势最新消息
  • 一个网站怎么做软件下载互联网投放渠道有哪些
  • 手机网站建设进度环境设计排版素材网站
  • 网站开发众筹地推网推平台
  • 长沙互联网网站建设wordpress标签id在哪里修改
  • 企业网站的建设 摘要大连网站设计策划
  • 做房地产一级市场的看什么网站网络营销外包推广方式
  • 网站建设基本流程包括哪几个步骤网站建设策划书网站发布与推广
  • 徐州整站优化手机网页端
  • 深圳中瑞建设集团官方网站宁波seo快速优化教程
  • 福田网站制作哪家好昆山企业网站建设公司
  • wordpress快六安网站自然排名优化价格
  • 网站的线下推广怎么做的系统官网网站模板下载安装
  • 北京网站优化推广公司企业网站建设费怎么核算
  • 网站建设vps个人如何做网站推广
  • 小语种网站怎么设计网页制作公司 大连
  • 贵港市城乡住房建设厅网站菜鸟教程网站
  • 广州网站建设找哪家免费搭建网站的软件
  • 培训班管理系统 免费太原优化网站排名
  • 上海怎么做网站网站让图片充满屏幕怎么做