经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jQuery事件
来源:cnblogs  作者:5魁首啊666  时间:2019/7/10 11:32:26  对本文有异议

事件

事件绑定方式

  1. <script src="jquery.js"></script>
  2. <script>
  3. //方式1
  4. // $('#d1').click(function () {
  5. // $(this).css({'background-color':'green'});
  6. // });
  7. //方式2
  8. $('#d1').on('click',function () {
  9. $(this).css({'background-color':'green'});
  10. })
  11. </script>

常用事件

  1. click 左键点击事件
  2. //获取光标触发的事件
  3. $('[type="text"]').focus(function () {
  4. $('.c1').css({'background-color':'black'});
  5. });
  6. //失去光标(焦点)触发的事件
  7. $('[type="text"]').blur(function () {
  8. $('.c1').css({'background-color':'purple'});
  9. });
  10. //域内容发生改变时触发的事件
  11. $('select').change(function () {
  12. $('.c1').toggleClass('cc');
  13. });
  14. //鼠标悬浮触发的事件
  15. $('.c1').hover(
  16. 第一步:鼠标放上去
  17. function () {
  18. $(this).css({'background-color':'blue'});
  19. },
  20. 第二步,鼠标移走
  21. function () {
  22. $(this).css({'background-color':'yellow'});
  23. }
  24. )
  25. // 鼠标悬浮 等同于hover事件
  26. // 鼠标进入
  27. $('.c1').mouseenter(function () {
  28. $(this).css({'background-color':'blue'});
  29. });
  30. // 鼠标移出
  31. $('.c1').mouseout(function () {
  32. $(this).css({'background-color':'yellow'});
  33. });
  34. $('.c2').mouseenter(function () {
  35. console.log('得港绿了');
  36. });
  37. // 鼠标悬浮事件
  38. $('.c2').mouseover(function () {
  39. console.log('得港绿了');
  40. });
  41. // mouseover 和 mouseenter的区别是:mouseover事件是如果该标签有子标签,那么移动到该标签或者移动到子标签时会连续触发,mmouseenter事件不管有没有子标签都只触发一次,表示鼠标进入这个对象
  42. //键盘按下触发的事件 e\event事件对象
  43. $(window).keydown(function (e) {
  44. // console.log(e.keyCode); //每个键都有一个keyCode值,通过不同的值来触发不同的事件
  45. if (e.keyCode === 37){
  46. $('.c1').css({'background-color':'red'});
  47. }else if(e.keyCode === 39){
  48. $('.c1').css({'background-color':'green'});
  49. }
  50. else {
  51. $('.c1').css({'background-color':'black'});
  52. }
  53. })
  54. // 键盘抬起触发的事件
  55. $(window).keyup(function (e) {
  56. console.log(e.keyCode);
  57. })
  58. input事件:
  59. 22期百度:<input type="text" id="search">
  60. <script src="jquery.js"></script>
  61. <script>
  62. $('#search').on('input',function () {
  63. console.log($(this).val());
  64. })
  65. </script>

事件冒泡

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. #d1{
  8. background-color: red;
  9. height: 200px;
  10. }
  11. #d2{
  12. background-color: green;
  13. height: 100px;
  14. width: 100px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div id="d1">
  20. <div id="d2"></div>
  21. </div>
  22. <script src="jquery.js"></script>
  23. <script>
  24. $('#d1').click(function () {
  25. alert('父级标签');
  26. });
  27. $('#d2').click(function () {
  28. alert('子级标签');
  29. });
  30. </script>
  31. </body>
  32. </html>

阻止后续事件发生

  1. $('#d1').click(function () {
  2. alert('父级标签');
  3. });
  4. $('#d2').click(function (e) {
  5. alert('子级标签');
  6. return false;
  7. // e.stopPropagation();
  8. });

事件委托

  1. //事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件,将未来添加进来的某些子标签自动绑定上事件。
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Title</title>
  7. </head>
  8. <body>
  9. <div id="d1">
  10. <button class="c1">爱的魔力转圈圈</button>
  11. </div>
  12. <script src="jquery.js"></script>
  13. <script>
  14. $('.c1').on('click',function () {
  15. alert('得港被雪飞调教了,大壮很难受!');
  16. var btn = document.createElement('button');
  17. $(btn).text('爱的魔力转圈圈');
  18. $(btn).addClass('c1');
  19. console.log(btn);
  20. //添加到div标签里面的后面
  21. $('#d1').append(btn);
  22. });
  23. #将'button' 选择器选中的标签的点击事件委托给了$('#d1');
  24. $('#d1').on('click','button',function () {
  25. alert('得港被雪飞调教了,大壮很难受!');
  26. var btn = document.createElement('button');
  27. $(btn).text('爱的魔力转圈圈');
  28. $(btn).addClass('c1');
  29. console.log(btn);
  30. console.log($(this)) //还是我们点击的那个button按钮
  31. //添加到div标签里面的后面
  32. $('#d1').append(btn);
  33. });
  34. </script>
  35. </body>
  36. </html>

页面载入和window.onload

  1. 1. jquery文件要在使用jquery的代码之前引入
  2. 2. js代码最好都放到body标签下面或者里面的最下面来写
  3. 3.window.onload
  4. window.onload = function () {
  5. $('.c1').click(function () {
  6. $(this).css({'background-color':'green'});
  7. })
  8. }
  9. 4.页面载入,$(function (){alert('xx');}) -- $(document).ready(function(){});
  10. 页面载入与window.onload的区别
  11.     1.window.onload()函数有覆盖现象,必须等待着图片资源加载完成之后才能调用
  12.     2.jQuery的这个入口函数没有函数覆盖现象,文档加载完成之后就可以调用(建议使用此函数)
  13.     
  14. 示例:
  15. <!DOCTYPE html>
  16. <html lang="en">
  17. <head>
  18. <meta charset="UTF-8">
  19. <title>Title</title>
  20. <script src="jquery.js"></script>
  21. <script>
  22. // 等待整个页面中的内容全部加载完成之后,触发window.onload对应的函数里面的内容
  23. // window.onload 有覆盖现象,会被后面的window.onload给重新赋值
  24. window.onload = function () {
  25. $('.c1').click(function () {
  26. $(this).css({'background-color':'green'});
  27. })
  28. }
  29. $(function () {
  30. $('.c1').click(function () {
  31. $(this).css({'background-color':'green'});
  32. })
  33. });
  34. </script>
  35. <script src="xx.js"></script>
  36. <style>
  37. .c1{
  38. background-color: red;
  39. height: 200px;
  40. width: 200px;
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <div class="c1"></div>
  46. <img src="" alt="">
  47. </body>
  48. </html>
  49.     

原文链接:http://www.cnblogs.com/5kuishoua666/p/11157634.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号