<javascript>事件

柔情只为你懂 2022-06-10 08:37 393阅读 0赞

事件通常分为:事件源和响应行为。
事件在触发后弹出响应块与函数配合使用,这样我们可以通过发生的事件来驱动函数执行.

1、js的常用事件

常见事件
常见事件

  1. onclick:点击事件
  2. onchange:域内容被改变的事件
  3. 需求:实现二级联动
  4. <select id="city">
  5. <option value="bj">北京</option>
  6. <option value="tj">天津</option>
  7. <option value="sh">上海</option>
  8. </select>
  9. <select id="area">
  10. <option>海淀</option>
  11. <option>朝阳</option>
  12. <option>东城</option>
  13. </select>
  14. <script type="text/javascript">
  15. var select = document.getElementById("city");
  16. select.onchange = function(){
  17. var optionVal = select.value;
  18. switch(optionVal){
  19. case 'bj':
  20. var area = document.getElementById("area");
  21. area.innerHTML = "<option>海淀</option><option>朝阳</option><option>东城</option>";
  22. break;
  23. case 'tj':
  24. var area = document.getElementById("area");
  25. area.innerHTML = "<option>南开</option><option>西青</option><option>河西</option>";
  26. break;
  27. case 'sh':
  28. var area = document.getElementById("area");
  29. area.innerHTML = "<option>浦东</option><option>杨浦</option>";
  30. break;
  31. default:
  32. alert("error");
  33. }
  34. };
  35. </script>

北京天津上海

  1. onfoucus:获得焦点的事件
  2. onblur:失去焦点的事件
  3. 需求: 当输入框获得焦点的时候,提示输入的内容格式
  4. 当输入框失去焦点的时候,提示输入有误
  5. <label for="txt">name</label>
  6. <input id="txt" type="text" /><span id="action"></span>
  7. <script type="text/javascript">
  8. var txt = document.getElementById("txt");
  9. txt.onfocus = function(){
  10. //友好提示
  11. var span = document.getElementById("action");
  12. span.innerHTML = "用户名格式最小8位";
  13. span.style.color = "green";
  14. };
  15. txt.onblur = function(){
  16. //错误提示
  17. var span = document.getElementById("action");
  18. span.innerHTML = "对不起 格式不正确";
  19. span.style.color = "red";
  20. };
  21. </script>

鼠标未获取焦点
为获取焦点
鼠标获取焦点
获取焦点时

  1. onmouseover:鼠标悬浮的事件
  2. onmouseout:鼠标离开的事件
  3. 需求:div元素 鼠标移入变为绿色 移出恢复原色
  4. #d1{background-color: red;width:200px;height: 200px;}
  5. <div id="d1"></div>
  6. <script type="text/javascript">
  7. var div = document.getElementById("d1");
  8. div.onmouseover = function(){
  9. this.style.backgroundColor = "green";
  10. };
  11. div.onmouseout = function(){
  12. this.style.backgroundColor = "red";
  13. };
  14. </script>

鼠标移出
鼠标移入

  1. onload:加载完毕的事件
  2. 等到页面加载完毕在执行onload事件所指向的函数
  3. <span id="span"></span>
  4. <script type="text/javascript">
  5. window.onload = function(){
  6. var span = document.getElementById("span");
  7. alert(span);
  8. span.innerHTML = "hello js";
  9. };
  10. </script>

2、事件的绑定方式

  1. (1)将事件和响应行为都内嵌到html标签中
  2. <input type="button" value="button" onclick="alert('xxx')"/>
  3. (2)将事件内嵌到html中而响应行为用函数进行封装
  4. <input type="button" value="button" onclick="fn()" />
  5. <script type="text/javascript">
  6. function fn(){
  7. alert("yyy");
  8. }
  9. </script>
  10. (3)将事件和响应行为 html标签完全分离
  11. <input id="btn" type="button" value="button"/>
  12. <script type="text/javascript">
  13. var btn = document.getElementById("btn");
  14. btn.onclick = function(){
  15. alert("zzz");
  16. };
  17. </script>

\*this关键字*

  1. this经过事件的函数进行传递的是html标签对象
  2. <input id="btn" name="mybtn" type="button" value="button123" onclick="fn(this)"/>
  3. <script type="text/javascript">
  4. function fn(obj){
  5. alert(obj.name); //mybtn
  6. alert(obj.value); //button123
  7. }
  8. </script>

3、阻止事件的默认行为

  1. IEwindow.event.returnValue = false;
  2. W3c: 传递过来的事件对象.preventDefault();
  3. //ie:window.event.returnValue = false;
  4. //W3c:传递过来的事件对象.preventDefault();
  5. //W3c标准
  6. if(e&&e.preventDefault){
  7. alert("w3c");
  8. e.preventDefault();
  9. //IE标签
  10. }else{
  11. alert("ie");
  12. window.event.returnValue = false;
  13. }
  14. //通过事件返回false也可以阻止事件的默认行为
  15. <a href="http://www.baidu.com" onclick="return false">点击我吧</a>

4、阻止事件的传播

  1. IEwindow.event.cancelBubble = true;
  2. W3c: 传递过来的事件对象.stopPropagation();
  3. //w3c标签
  4. if(e&&e.stopPropagation){
  5. alert("w3c");
  6. e.stopPropagation();
  7. //IE标签
  8. }else{
  9. alert("ie");
  10. window.event.cancelBubble = true;
  11. }

发表评论

表情:
评论列表 (有 0 条评论,393人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaScript事件

    什么是事件流 javaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便

    相关 JavaScript 事件

    第1章 事件入门 JavaScript 事件是由访问 Web 页面的用户引起的一系列操作,例如:用户点击。当用户执行某些操作的时候,再去执行一系列代码。 事件介绍

    相关 <javascript>事件

    事件通常分为:事件源和响应行为。 事件在触发后弹出响应块与函数配合使用,这样我们可以通过发生的事件来驱动函数执行. 1、js的常用事件 ![常见事件][SouthEas

    相关 JavaScript-事件

    事件(Event)是JavaScript应用跳动的心脏,当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了。 事件可能是用户在某些内容上的点击、鼠标经过某个特

    相关 JavaScript 事件

    一、基本概念 0x1 事件 1、定义 事件是可以被 JavaScript 侦测到的行为,通俗的讲就是当用户与Web页面进行某些交互时,解释器就会创建响应的eve