Fork me on GitHub

jQuery中的事件

执行时机

1、 当所有页面元素都加载完成再执行

  1. //原生javascript方法
  2. window.onload = function(){
  3. }
  4. //测试
  5. function one(){
  6. alert("one");
  7. }
  8. function two(){
  9. alert("two");
  10. }
  11. window.onload = one;
  12. window.onlaod = two;
  13. window.onload = function(){
  14. one();
  15. two();
  16. }
  17. //jQuery方法
  18. $(window).load(function(){
  19. })

2、 当DOM元素加载完就执行

  1. $(document).ready(function(){
  2. })
  3. $().ready(function(){
  4. })
  5. $(function(){
  6. })

事件绑定

jQuery中事件的绑定,通过one()和on()方法。

常见事件类型

  1. blur //当输入域失去焦点
  2. focus //当输入域获得焦点
  3. load //当加载时,触发事件
  4. resize //对浏览器窗口调整大小时
  5. scroll //对元素滚动时
  6. unload //当用户点击链接离开本页时
  7. click //单击
  8. dblclick //双击
  9. mousedown //当按下鼠标按钮时
  10. mouseup //当松开鼠标按钮时
  11. mousemove //当鼠标指针在指定的元素中移动时
  12. mouseover //当鼠标指针放到元素上时(子元素上也生效)
  13. mouseout //当鼠标离开元素时(子元素上也生效)
  14. mouseenter //当鼠标指针放到元素上时
  15. mouseleave //当鼠标离开元素时
  16. hover //合成事件,鼠标放上去、鼠标离开
  17. toggle() //显示、隐藏
  18. change //当输入域发生变化 表单 区分于blur
  19. select //当 textarea 或文本类型的 input 元素中的文本被鼠标选中时
  20. submit //提交表单
  21. keydown //当按下按键时(只发生一次)
  22. keypress //每插入一个字符,就会发生keypress事件。
  23. keyup //当按钮被松开时
  24. error

练习

  1. <div id="panel">
  2. <h5 class="head">谁才是武汉最好的PHP培训机构?</h5>
  3. <div class="content">
  4. 武汉长乐教育,是最专业的武汉PHP培训机构。
  5. www.whphp.com是我们在武汉PHP市场主要的IT教育培训宣传网站,请您认证域名www.whphp.com。
  6. 当您在寻找一个真正能学会技术的武汉PHP培训学校,那就来武汉长乐教育吧。
  7. </div>
  8. </div>
  1. //用到方法 is(":visible")

阻止事件冒泡和默认行为

什么是事件冒泡

  1. <script type="text/javascript">
  2. $(function(){
  3. // 为span元素绑定click事件
  4. $('span').on("click",function(){
  5. var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>";
  6. $('#msg').html(txt);
  7. });
  8. // 为div元素绑定click事件
  9. $('#content').on("click",function(){
  10. var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>";
  11. $('#msg').html(txt);
  12. });
  13. // 为body元素绑定click事件
  14. $("body").on("click",function(){
  15. var txt = $('#msg').html() + "<p>body元素被点击.<p/>";
  16. $('#msg').html(txt);
  17. });
  18. })
  19. </script>
  20. </head>
  21. <body>
  22. <div id="content">
  23. 外层div元素
  24. <span>内层span元素</span>
  25. 外层div元素
  26. </div>
  27. <div id="msg"></div>
  1. $('a').click(function(event){
  2. event.stopPropagation(); //阻止事件冒泡
  3. event.preventDefault(); //阻止默认行为
  4. //$('a').click(function(e){
  5. //e.stopPropagation(); //阻止事件冒泡
  6. //e.preventDefault(); //阻止默认行为
  7. //return false;
  8. })

移除事件

  1. <script>
  2. $(function(){
  3. $("p").click(function(){
  4. $(this).slideToggle();//隐藏
  5. });
  6. $("button").click(function(){
  7. $("p").off(); //没有参数,删除所有的绑定事件,不要使用unbind()了(废弃)
  8. //$("p").off("click");
  9. });
  10. });
  11. </script>
  12. <p>这是一个段落。</p>
  13. <p>这是另一个段落。</p>
  14. <p>点击任何段落可以令其消失。包括本段落。</p>
  15. <button>删除 p 元素的事件处理器</button>

给动态增加的元素绑定事件

  1. <script>
  2. $(function(){
  3. //$("p").click(function(){
  4. //$(this).css("background-color","pink");
  5. //})
  6. $(document).on("click","p",function(){
  7. $(this).css("background-color","pink");
  8. })
  9. $("button").click(function(){
  10. $("div").append("<p>动态增加的元素</p>")
  11. })
  12. });
  13. </script>
  14. <div><p>本来的的元素</p></div>
  15. <button>点我</button>
posted @ 2018-10-25 14:09  big2cat  阅读(161)  评论(0编辑  收藏  举报