分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

js事件流

发布时间:2023-09-06 01:18责任编辑:赖小花关键词:js

1.HTML事件处理程序:

JS事件放在HTML里面。


  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>HTML事件处理程序</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. </div>
  10. <scripttype="text/javascript">
  11. functionshow(){
  12. alert(‘helloworld‘)
  13. }
  14. </script>
  15. </body>
  16. </html>


2.DOM0级事件处理程序:


  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>DOM0级事件处理程序</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. </div>
  10. <scripttype="text/javascript">
  11. varbtn=document.getElementById(‘btn‘);
  12. btn.onclick=function(){
  13. alert(‘helloworld‘)
  14. }
  15. btn.onclick=null;//取消onclick事件
  16. </script>
  17. </body>
  18. </html>

3.DOM2级事件处理程序


  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>DOM2级</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. </div>
  10. <scripttype="text/javascript">
  11. //DOM2级事件定义了两个方法
  12. //用于处理指定和删除事件程序的操作
  13. //addEventListener()和removeEventListener()
  14. //接收三个参数:要处理的时间名、事件处理程序、布尔值(true:捕获阶段、false:冒泡阶段)
  15. //一个按钮上可以添加多个事件
  16. varbtn=document.getElementById(‘btn‘);
  17. btn.addEventListener(‘click‘,function(){
  18. alert(‘helloworld‘);
  19. },false);
  20. //删除事件的参数必须和添加事件的一样,
  21. btn.removeEventListener(‘click‘,function(){
  22. alert(‘helloworld‘);
  23. },false);
  24. </script>
  25. </body>
  26. </html>


4.IE事件处理程序

[html]view plaincopy
  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>IE事件处理程序</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. </div>
  10. <scripttype="text/javascript">
  11. //attachEvent()添加事件
  12. //detachEvent()删除事件
  13. //接收相同的两个参数:事件名称、事件程序
  14. varbtn=document.getElementById(‘btn‘);
  15. btn.attachEvent(‘onclick‘,function(){
  16. alert(‘hello‘)
  17. });
  18. btn.detachEvent(‘onclick‘,function(){
  19. alert(‘hello‘)
  20. })
  21. </script>
  22. </body>
  23. </html>

5.跨浏览器事件处理程序


  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>跨浏览器事件处理</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. </div>
  10. <scripttype="text/javascript">
  11. functionshow(){
  12. alert(‘hello‘);
  13. }
  14. vareventUtil={
  15. //添加事件
  16. addHandler:function(element,type,handler){
  17. if(element.addEventListener){
  18. addEventListener(type,handler,false);
  19. }elseif(element.attachEvent){
  20. attachEvent(‘on‘+type,handler);
  21. }else{
  22. element[‘on‘+type]=handler;
  23. }
  24. }
  25. //删除事件
  26. removeHandler:function(element,type,handler){
  27. if(element.removeEventListener){
  28. removeEventListener(type,handler,false);
  29. }elseif(element.attachEvent){
  30. detachEvent(‘on‘+type,handler);
  31. }else{
  32. element[‘on‘+type]=null;
  33. }
  34. }
  35. }
  36. eventUtil.addHandler(btn,‘click‘,show);
  37. eventUtil.removeHandler(btn,‘click‘,show);
  38. </script>
  39. </body>
  40. </html>


6.DOM事件对象


  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <title>DOM事件对象</title>
  5. </head>
  6. <body>
  7. <div>
  8. <inputtype="button"value="按钮">
  9. <ahref="http://www.baidu.com"id=‘go‘>跳转</a>
  10. </div>
  11. <scripttype="text/javascript">
  12. //1.DOM的事件对象
  13. //(1)type属性用于获取时间类型
  14. //(2)target属性用户获取事件目标
  15. //(3)stopPropagation()阻止事件冒泡
  16. //(4)preventDefault()阻止默认行为
  17. varbtn=document.getElementById(‘btn‘);
  18. varbox=document.getElementById(‘box‘);
  19. vargo=document.getElementById(‘go‘);
  20. btn.onclick=function(e){
  21. alert(‘btn‘)
  22. e.stopPropagation();
  23. };
  24. box.onclick=function(){
  25. alert(‘box‘)
  26. };
  27. go.onclick=function(e){
  28. e.stopPropagation();
  29. e.preventDefault();
  30. }
  31. </script>
  32. </body>
  33. </html>


7.IE事件对象


    1. <!DOCTYPEhtml>
    2. <html>
    3. <head>
    4. <title>IE事件对象</title>
    5. </head>
    6. <body>
    7. <div>
    8. <ahref="">跳转</a>
    9. </div>
    10. <scripttype="text/javascript">
    11. //1.IE的事件对象
    12. //(1)type属性用于获取时间类型
    13. //(2)srcElement属性用户获取事件目标
    14. //(3)cancelBubble属性:true:阻止事件冒泡
    15. //(4)returnValue属性:flase:阻止默认行为
    16. window.onload=function(){
    17. vargo=document.getElementById(‘go‘);
    18. varbox=document.getElementById(‘box‘);
    19. eventUtil.addHandler(box,‘click‘,function(){
    20. alert(‘111‘)
    21. })
    22. }
    23. vareventUtil={
    24. //添加事件
    25. addHandler:function(element,type,handler){
    26. if(element.addEventListener){
    27. addEventListener(type,handler,false);
    28. }elseif(element.attachEvent){
    29. attachEvent(‘on‘+type,handler);
    30. }else{
    31. element[‘on‘+type]=handler;
    32. }
    33. },
    34. //删除事件
    35. removeHandler:function(element,type,handler){
    36. if(element.removeEventListener){
    37. removeEventListener(type,handler,false);
    38. }elseif(element.attachEvent){
    39. detachEvent(‘on‘+type,handler);
    40. }else{
    41. element[‘on‘+type]=null;
    42. }
    43. },
    44. getEvent:function(event){
    45. returnevent?event:window.event;
    46. },
    47. getType:function(event){
    48. returnevent.type;
    49. },
    50. getTarget:function(){
    51. returnevent.target||event.srcElement
    52. },
    53. preventDefault:function(event){
    54. if(event.preventDefault{
    55. event.preventDefault()
    56. }else{
    57. event.returnValue=false;
    58. }
    59. },
    60. stopPropagation:function(){
    61. if(event.stopPropagation){
    62. event.stopPropagation();
    63. }else{
    64. event.cancelBubble:false;
    65. }
    66. }
    67. }
    68. </script>
    69. </body>
    70. </html>

js事件流

原文地址:http://www.cnblogs.com/chaofei/p/7688916.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved