8月18号=》431页-435页

15.3.4  转发事件

    DOM提供了dispatchEvent方法用于事件的转发,该方法属于Node对象,因此DOM的每个Node元素都可调用该方法,从而将事件直接

    转发到本节点。该方法的语法格式如下:

      target.dispatchEvent(Event event):将event事件转发到target上。

    与Internet Explorer事件模型里的重定向事件不同的是,dispatch()方法必须转发人工合成事件(Synthetic Event),不能直接转发系统创建的事件。

    DOM为创建人工合成事件提供了如下方法。

      document.createEvent(String type):该方法创建一个事件对象,其中type参数用于指定事件类型,普通事件可使用Events,UI事件可使用

                        UIEvents,鼠标事件可使用MouseEvents。

    通过上面的方法得到一个事件后,可调用事件的如下方法来初始化。

      initEvent(String eventTypeArg,boolean canBubbleArg,boolean cancelableArg):用于初始化一个普通事件,第一个参数用于指定该事件

      类型,如click等;等二个参数用于指定该事件是否支持冒泡;第三个参数用于指定该事件是否有默认行为,且可通过preventDefault()方法取消

      该默认行为。

      initUIEvent(String typeArg,boolean canBubbleArg,boolean cancelableArg,Window viewArg,long detailArg):该方法的前3个参数

        的意义与上一个方法中的3个参数完全相同。后两个参数的意义与介绍UIEvent时的view、detail两个属性相同。

    转发事件代码示范:

      //脚本代码

      //第一个按钮被单击时的事件处理函数

      var rd = function(evt)

      {

        document.getElementById("show").innerHTML+="事件冒泡阶段:"+evt.currentTarget.value+"被单击了<br/>";

        //创建一个普通事件

        var e = document.createEvent("Events");

        //初始化事件对象,指定该事件支持冒泡,不允许取消默认行为

        e.initEvent("click",true,false);

        //将事件转发到按钮bn2

        document.getElementById("bn2").dispatchEvent(e);

      }

      //第二个按钮被单击时的事件处理函数

      var gotClick = function(evt)

      {

        document.getElementById("show").innerHTML+="事件冒泡阶段:"+evt.currentTarget.value+"被单击了<br/>";

      }

      //分别为两个按钮绑定事件处理函数

      document.getElementById("bn1").addEventListener("click",rd,false);

      document.getElementById("bn2").addEventListener("click",gotClick,false);

      

      //html代码

      <input id="bn1" type="button" value="按钮1"/>

      <input id="bn2" type="button" value="按钮2"/>

15.3.5  取消事件的默认行为

    DOM也提供了取消事件默认行为的方法,DOM中的事件对象都提供了preventDefault()方法,该方法不需要参数,只要执行了给定事件的

    preventDefault方法,该事件的默认行为就将失效。

    代码示范:

      <a id="mylink" href=www.baidu.com>导航</a>

      var killClicks = function(event)

      {

        //取消事件的默认行为

        event.perventDefault();

        alert("超链接被单击,但已取消默认的导航跳转效果");

      }

      //为超链接绑定事件处理函数(捕获阶段)

      document.getElementById("mylink").addEventListener("click",killClicks,true);

    //点击导航链接后页面将弹出“超链接呗单击,但已取消默认的导航跳转效果”对话框,且不会跳转到baidu.com链接,因为perventDefault方法已经

    取消了该事件的默认行为,但是该方法后面的脚本代码依然会执行。

8月18号=》431页-435页,布布扣,bubuko.com

时间: 2024-10-10 06:48:27

8月18号=》431页-435页的相关文章

6月18号=》166页-170页

6.6 在脚本中修改显示样式 很多时候我们需要在脚本中动态控制页面的显示效果,使用脚本动态设置CSS样式也非常简单. 按如下步骤就可以动态修改目标元素的CSS样式. 1:获取到需要设置CSS样式的目标元素,例如可以使用getElementById()方法. 2:修改目标元素的CSS样式.常用的方法有两种. 修改内联CSS属性值:使用如"obj.style.属性名=属性值"的JavaScript代码即可. 修改HTML元素的class属性值:如使用"obj.className=

7月18号=》226页-230页

10.2 盒模型和display属性 10.2.1 两种最基本的盒模型 block类型:这种盒模型的组件默认占据一行,允许通过CSS设置宽度.高度.例如<div>.<p>元素. inline类型:这种盒模型的组件不会占据一行(默认允许在一行放置多个组件),即使通过CSS设置宽度. 高度也不会起作用.例如<span>.<a>元素. 10.2.2 none值 display属性可指定为none值,用于设置目标对象隐藏,一旦该对象隐藏,其占用的页面控件也会释放.

5月27号=》第30页-第35页

2.18 框架相关元素 HTML5删除了<frameset>.<frame>.<noframes>这三个标签 保留了<iframe>元素 2.2 HTML5新增的通用属性 2.2.1 contenEditable:该属性为true时可在页面直接对该标签进行编辑    用户编辑完后,内容会直接显示在该页面中(一旦  刷新页面就会重新加载,编辑的内容会丢失),开发  者可以通过该元素的innerHTML属性来获取编辑后    的内容   该属性具有"可

5月29号=》第41页-第45页

2.4 HTML5头部和元信息 <script>:该元素用于包含JavaScript脚本. <style>:该元素用于定义内部CSS样式. <link>:该元素用于链接外部CSS样式等资源. <title>:该元素用于定义文档标题. <base>:该元素用于指定该页面中所有链接的基准链接. 该元素属性如下: href:指定所有链接的基准链接. target:指定超链接默认在哪个窗口打开=>(_blank._parent._self._top

5月28号=》第35页-第40页

2.3.2 语义相关元素 <mark>:用于显示HTML页面中需要重点"关注"的内容,浏览器 通常会用黄色显示该标签内的内容. <time>:用来显示被标注内容是日期.时间或者日期时间.   使用该标签要指定datetime属性,格式为"yyyy-MM-ddTHH:mm"   如果<time>标签的内容直接符合以上格式,则可以不用指定datetime属性. <details>:该元素用于显示一段详细信息或某个主题的细节

10月18号 蒟蒻的流水账

11:06:11 早上开完了开幕式,来到机房写了昨天考的第三题,用了费用流来写没有用贪心(正好复习一下各种流) 好想去看比赛啊. 下午两点十五分有我得去跨栏,跑完后还要神不知鬼不觉地溜回机房参加老师三点的模拟考试(不能让老师知道我偷偷参加了校运会)不过其实机房的好多小伙伴今天早上都没有来(以比赛为由,偷偷溜去看比赛). 我早上千辛万苦地把相机和三角架放在共享单车的篮子里,一路小心翼翼地骑到学校,结果却只为借给别人用!(太善良,不会拒绝别人) 自己窝在机房都快进化成硅基生物了. 好想摄影,毕竟自己

11月18号站立会议

小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长).程媛媛.杨钰宁.谭力铭 代码地址:HTTPS:https://git.coding.net/shenbaishan/gift-selection.git SSH:[email protected]:shenbaishan/gift-selection.git 会议时间:2016-11-18 13:00-----13:30 会议地点:传媒西202 会议内容: 一.已完成项:无 二.计划完成项: ①继续完成重新拟定增添删项目功

2016年4月18号渗透学习总结

这几天事很多,很忙,视频也没怎么看,也就今天看的稍微多一点,迪哥的视频看了几节代码审计内容,表达能力有限,懂是有点懂了,但是写不出来,所以就写写今天学的其他的东西吧. 留言板攻击:如果知道一个网站的数据库路径,且数据库是以asa或asp结尾的那么就可以找到网站的留 言板插入加密一句话,┼癥污爠煥敵瑳∨≦┩>>,密码是f,这样用菜刀链接后就可以直接 连接数据库. 非法注册:在一些网站中都有注册和上传头像的功能,如果创建一个用户名为xiaoyu,那么网站就会 在自己的网站目录下创建www.xxx.

8月18号练习

1.扫描/etc/passwd文件每一行,如发现GECOS字段为空,则填 充用户名和单位电话为62985600,并提示该用户的GECOS信 息修改成功. #!/bin/bash while read line ;do if  echo "$line" | cut -d: -f5 | grep "^$" &> /dev/null ;then         name=`echo "$line" | cut -d: -f1`