<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>jquery事件处理</title> <script src="jquery.min.js"></script> <style> div{ width: 100px; height: 100px; background: pink; } .current{ background: green; } </style> </head> <body> <div> </div> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> <script> $(function(){ // <!--1 事件处理:on 注册多个事件--> // $('div').on({ // mouseenter: function(){ // $(this).css('background',"blue"); // }, // mouseleave: function(){ // $(this).css('background',"red"); // }, // click: function(){ // $(this).css('background',"purple"); // }, // }); // 2 如果事件处理的是相同操作,可以如下,表示鼠标进入和鼠标离开都会触发函数 $("div").on("mouseenter mouseleave",function(){ $(this).toggleClass("current");//切换增加或者删除类名的操作 }); // 3 事件委派:将原本绑定在子元素上的事件绑定到父元素上 $("ul").on('click','li',function(){}) 事件绑定在父元素ul上,但触发事件的对象是ul下的子元素li // on 【可以给未来创建的元素绑定事件】 比如我先绑定ul元素,由li触发函数,后创建新的li元素,点击新的li元素仍然可以触发函数。即说明给未来创建的元素也绑定了事件 $("ul").on('click','li',function(){ alert('略略略略略'); }); $("ul").append($("<li>我是新创建的</li>")); // 解绑事件:off() 接触on绑定事件 $('ul').off("click",'li');//解绑委托事件 $('div').off();//接触div的所有on绑定事件 // one() 只能触发一次的事件 $('div').one('click',function(){}); // 自动触发事件 trigger() 比如轮播图自动播放,音乐自动播放,视频自动播放等 //1 element.事件() 2 element.trigger("事件") 3 element.triggerHandeler("事件")-----不会触发元素的默认行为,比如光标闪烁行为不会被触发 // jquery事件对象:element.on(events,[selector],function(event) {}) // 阻止默认行为:event.preventDefault() 或者return false // 阻止冒泡:event.stopPropagation() }) </script> </body> </html>
待补充