JQ中的事件与应用

合集下载

jquery change事件的用法

jquery change事件的用法

jquery change事件的用法
jQuery中的`change`事件主要用于处理HTML元素值改变的情况。

这个事件常常用于输入框(如`<input>`,`<textarea>`,和`<select>`等)和复选框(`<input type="checkbox">`)的改变。

以下是使用jQuery的`change`事件的基本用法:
```javascript
// 监听某个输入框的值改变
$('myInput').change(function() {
// 执行某些操作,例如打印输入框的值
($(this).val());
});
```
在这个例子中,每当ID为`myInput`的输入框的值发生改变时,就会执行定义在`change`事件处理函数中的代码。

这个函数通过`$(this)`获取了触发事件的元素(即输入框),然后使用`.val()`方法获取了输入框的值。

值得注意的是,`change`事件不会在用户在输入框中键入内容时立即触发,而是在用户离开输入框(比如点击其他地方或者按Tab键离开)时才触发。

如果你需要在用户键入内容时立即做出响应,可能需要使用其他事件,比如`input`或`keyup`。

jqGrid的选中行事件

jqGrid的选中行事件

jqGrid的选中⾏事件jqGrid中⼀些⽅法的使⽤说明如下:1、获取单个选中⾏的⾏IDvar rowid = jQuery("#gridList").jqGrid("getGridParam", "selrow"); //⾏序号2、获取多个选中⾏的idvar ids=jQuery("#gridList").jqGrid('getGridParam','selarrrow'); //选中⾏号组成的数组3、获得所有⾏的ID数组var ids = jQuery("#gridList").jqGrid('getDataIDs'); //所有⾏的,⾏序号数组4、获取单个⾏数据var rowData = jQuery("#gridList").jqGrid('getRowData',rowId); //参数rowId ⾏号其中,rowId是想要获取⾏数据的⾏ID。

rowData 是包含整⾏数据的对象。

例如,你想获得该⾏数据中的ID,可以直接⽤rowData.id来获得5、设定⾏选中//设定选中⾏,可设定多⾏选中:jQuery("#gridList").jqGrid('setSelection',id1); //⾏号jQuery("#gridList").jqGrid('setSelection',id2);setSelection:参数:rowid,onselectrow。

选择或反选id = rowid指定的⾏。

若onselectrow设置为true (缺省) 则触发onSelectRow事件,否则不触发。

6、设置Checkbox选中//checkbox选中checkedRole: function () {var rowIds = $("#gridList").jqGrid('getDataIDs'); //获取所有⾏Idsfor (var k = 0; k < rowIds.length; k++) {var curRowData = $("#gridList").jqGrid('getRowData', rowIds[k]);for (var i = 0; i < userRoleObj.roleData.length; i++) {var checkedRoleData = userRoleObj.roleData[i];if (curRowData.ID == checkedRoleData.ID) {$("#gridList").find("input[id='jqg_gridList_" + rowIds[k] + "']").attr("checked", true);$("#gridList").jqGrid('setSelection', rowIds[k]);}}}}7、获取多选,选中⾏ID字段multiselect: true //定义可以多选var rowIds = $("#gridList").jqGrid('getGridParam', 'selarrrow');var ids = [];if (rowIds.length) {for (var i = 0; i < rowIds.length; i++) {var ID = $('#gridList').jqGrid('getCell', rowIds[i], 'ID'); //name是colModel中的⼀属性ids[i] = ID;}}。

jquery事件处理 综合案例

jquery事件处理 综合案例

jquery事件处理综合案例以jquery事件处理综合案例为题,列举如下:1. 案例一:点击按钮显示隐藏元素在页面上放置一个按钮和一个元素,当点击按钮时,通过jquery事件处理实现隐藏或显示该元素。

2. 案例二:鼠标悬停显示提示信息在一个段落中的某个词语上添加鼠标悬停事件,当鼠标悬停在该词语上时,通过jquery事件处理显示一个提示框,提示该词语的含义或解释。

3. 案例三:输入框字符限制在一个输入框中,通过jquery事件处理限制输入的字符个数,当输入字符个数超过限制时,给出相应的提示。

4. 案例四:点击图片切换在页面上放置多个图片,通过jquery事件处理实现点击图片时,切换显示不同的图片。

5. 案例五:拖拽效果在页面上放置一个可拖拽的元素,通过jquery事件处理实现拖拽效果,即用户可以通过鼠标拖动该元素改变其位置。

6. 案例六:下拉菜单在页面上放置一个下拉菜单,通过jquery事件处理实现点击菜单项时,显示或隐藏相应的内容。

7. 案例七:表单验证在一个表单中的输入框中添加jquery事件处理,实现表单验证功能,例如验证邮箱格式、手机号码格式等。

8. 案例八:动态加载内容通过jquery事件处理实现动态加载内容,例如点击按钮时,通过ajax请求数据,并将返回的数据动态添加到页面中。

9. 案例九:轮播图通过jquery事件处理实现轮播图效果,即自动切换显示不同的图片或内容。

10. 案例十:选项卡切换在页面上放置多个选项卡,通过jquery事件处理实现点击选项卡时,显示相应的内容,隐藏其他内容。

这是一些常见的jquery事件处理综合案例,通过这些案例可以学习和理解jquery事件处理的基本用法和实际应用。

希望对你有所帮助。

jquery用法

jquery用法

jquery用法jQuery是一种广泛应用于网页开发的JavaScript库,它极大地简化了HTML 文档遍历、事件处理、动画设计等常见的客户端脚本操作。

下面是jQuery的一些常见用法:1.选择器: jQuery提供了许多选择器来获取HTML元素,如元素选择器、id选择器、class选择器、属性选择器、伪类选择器、层次选择器等。

以下是一些常见的选择器:•('#element'):选择具有特定ID的元素•('.class'):选择具有特定类的元素•('input[type=“text”]'):选择特定类型的表单元素•('div:first'):选择第一个div•('ul li').eq(2):选择ul下的第二个li元素2.事件处理: jQuery使得添加和处理事件变得容易。

以下是一些常见的事件处理函数:•click():单击元素时触发•dblclick():双击元素时触发•mouseenter():鼠标移入元素时触发•mouseleave():鼠标移出元素时触发•keydown():按下键盘上的键时触发3.属性: jQuery提供了完善的属性操作,可以改变和获取元素的属性,例如:•attr(): 获取或设置元素的属性值•removeAttr(): 删除元素的属性值•prop(): 获取或设置元素的属性值,与attr()不同之处在于property值不会随着属性值的改变而改变4.动画效果: jQuery内置了一些动画效果,可以使网页更加动态。

以下是一些常见的动画效果:•fadeIn():淡入元素,即从不可见到可见•fadeOut():淡出元素,即从可见到不可见•slideDown():向下展开元素•slideUp():向上收缩元素•animate():通过改变元素的CSS属性来创建自定义的动画效果5. AJAX: jQuery内置了AJAX的方法,可以在不刷新网页的情况下从服务器获取数据。

jQuery的属性,事件及操作

jQuery的属性,事件及操作

jQuery的属性,事件及操作1.属性操作1.1 基本属性操作$("img").attr("src") 返回⽂档中所有图像的src属性值$("img").attr("src","test.jpg") 设置⽂档中所有图像的src属性值$("img").removeAttr("src") 将⽂档中图像的src属性删除$("input[type='checkbox']").prop("checked",true) 选中复选框$("input[type='checkbox']").prop("checked",false) 取消复选框$("img").removeProp("src") 删除img的src属性值attr与prop的区别:attr可以找到⾃定义的属性,prop只能找到固有的属性例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><button class="select_all">全选</button><button class="reverse">反选</button><button class="cancel">取消</button><hr><table border="1"><tr><td><input type="checkbox"></td><td>111</td><td>222</td><td>333</td></tr><tr><td><input type="checkbox"></td><td>111</td><td>222</td><td>333</td></tr><tr><td><input type="checkbox"></td><td>111</td><td>222</td><td>333</td></tr><tr><td><input type="checkbox"></td><td>111</td><td>222</td><td>333</td></tr></table><script>//为"select_all"类绑定点击事件$(".select_all").click(function(){$(":checkbox").prop("checked",true);//选中所有的"checkbox"标签});//为"cancel"类绑定点击事件$(".cancel").click(function(){$(":checkbox").prop("checked",false);//取消选中的"checkbox"标签});//为"reverse"类绑定点击事件$(".reverse").click(function(){//循环每⼀个"checkbox"标签$(":checkbox").each(function(){$(this).prop("checked",!$(this).prop("checked"));//把所有的"checkbox"标签的属性取反})});</script></body></html>1.2 class属性操作$("p").addClass("test") 为p元素加上"text"类$("p").removeClass("test") 从p元素中删除"test"类$("p").toggleClass("test") 如果存在就删除,否则就添加"test"类$("p").hasClass("test") 判断有没有"test",返回⼀个布尔值1.3 标签⽂本text/HTML的属性$("p").html() 返回p标签的html内容$("p").html("hello world") 设置p标签的html内容$("p").text() 返回p标签的text内容$("p").text("test") 设置p标签的text内容$("input").val() 获取⽂本框中的值$("input").val("test") 设置⽂本框中的内容2.CSS操作2.1 样式$("p").css("color") 访问查看p元素的color属性$("p").css("color","red") 设置p元素的color属性的"red"$("p").css({"color":"red","bakcground-color":"yellow"}) 设置p元素的color为"red",background属性为"yellow"(设置多个属性要⽤{}字典形式) 2.2 位置$("p").offset() 元素在当前窗⼝的相对偏移,object{top:100,left:100}$("p").offset().top 元素相对窗⼝顶部的偏移$("p").offset().left 元素相对窗⼝左侧的偏移$("p").position() 元素相对⽗元素的偏移,对可见元素有效,object{top:100,left:100}例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script><style type="text/css">*{margin:0;padding:0;}</style></head><body><div class="div1" style="width:200px;height:200px;background-color:darkblue"></div><script>var val_x=0;//初始化标签到浏览器左边框的距离var val_y=0;//初始化标签到浏览器上边框的距离//定义当⿏标悬浮在标签上⾯的时候,⿏标的样式为移动$(".div1").mouseover(function(){$(this).css("cursor","move")});//为盒⼦绑定⿏标左键按下事件$(".div1").mousedown(function(e){val_x=e.clientX;//定义标签的初始x坐标val_y=e.clientY;//定义标签的初始y坐标var $box_x=$(".div1").offset().left;//获取盒⼦相对窗⼝左侧的偏移var $box_y=$(".div1").offset().top;//获取盒⼦相对窗⼝顶侧的偏移//定义⿏标移动的操作$(document).mousemove(function(e){var move_x=e.clientX;//获取⿏标的偏移量var move_y=e.clientY;//移动窗⼝到指定的偏移量$(".div1").offset({left:$box_x+move_x-val_x,top:$box_y+move_y-val_y})});//绑定⿏标左键松开事件$(document).mouseup(function(){$(document).off();//关闭事件})});</script></body></html>这样可以使div盒⼦跟随⿏标的移动⽽移动$(window).scrollTop() 获取窗⼝滚动条的⾼度$(window).scrollLeft() 获取窗⼝滚动条的宽度$(window).scrollTop("100") 获取窗⼝滚动条的⾼度为100例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><div class="box"></div><div id="returnTop">to top</div><script>//定义窗⼝的滚动条$(window).scroll(function(){console.log($(window).scrollTop());//打印滚动条的位置//当滚动条的位置⼤于200的时候if($(window).scrollTop()>200){$("#returnTop").show();//显⽰滚动条}else{$("#returnTop").hide();//隐藏滚动条}//为返回顶部按钮绑定点击事件$("#returnTop").click(function(){$(window).scrollTop(0);//使窗⼝返回顶部})})</script></body></html>2.3 尺⼨$("p").height() 获取p元素的⾼度$("p").width() 获取p元素的宽度$("p:first").innerHeight() 获取p元素的第⼀个元素的内部区域的⾼度(不包括边框) $("p:first").innerWidth() 获取p元素的第⼀个元素的内部区域宽度(不包括边框)$("p:first").outerHeight() 获取p元素的第⼀个元素的外部区域的⾼度(默认包括边框) $("p:first").outerWidth() 获取p元素的第⼀个元素的外部区域的宽度(默认包括边框) $("p:first").outerHeight(true) 为true时包括边框例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../0814/jquery-3.2.1.js"></script><style>.box{width:200px;height:100px;padding:50px;border:10px solid red;background-color:pink;margin:20px;}</style></head><body><div class="box">DIV</div><script>console.log($(".box").height());//获取盒⼦的⾼度console.log($(".box").width());//获取盒⼦的宽度console.log($(".box").innerHeight());//获取盒⼦的内部区域的⾼度(包括填充)console.log($(".box").innerWidth());//获取盒⼦的内部区域的宽度(包括填充)console.log($(".box").outerHeight());//获取盒⼦的外部区域的⾼度(包括边框)console.log($(".box").outerWidth());//获取盒⼦的外部区域的宽度(包括边框)console.log($(".box").outerHeight(true));//获取盒⼦的外部区域的⾼度(⽰包括边距) console.log($(".box").outerWidth(true));//获取盒⼦的外部区域的宽度(不包括边距) </script></body></html>显⽰如下:打印结果如下:3. ⽂档处理3.1 内部插⼊$("p").append("<p>p1</p>") 在p标签后⾯追加标签"<p>p1</p>" $("p").appendTo("<p>p1</p>") 把p标签追加到标签"<p>p1</p>"后⾯$("p").prepend("<p>p1</p>") 在p标签前⾯追加标签"<p>p1</p>" $("p").prependTo("<p>p1</p>") 把p标签追加到标签"<p>p1</p>"前⾯3.2 外部插⼊$("p").after("<p>p1</p>") 在p标签的同级标签后⾯插⼊标签"<p>p1</p>" $("p").before("<p>p1</p>") 在p标签的同级标签前⾯插⼊标签"<p>p1</p>" $("p").insertAfter("<p>p1</p>") 把p标签插⼊到标签"<p>p1</p>"后⾯$("p").insertBefore("<p>p1</p>") 把p标签插⼊到标签"<p>p1</p>"前⾯3.3 替换$("p").replaceWith("<img src='a.jpg'>") 把p标签替换成图⽚$(".div1").replaceAll("p") 把div类替换成⽂档中所有的p标签例⼦⼀:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><p>p1</p><p>p2</p><p>p3</p><p>p4</p><div class="div1">div5</div><div class="div1">div6</div><div class="div1">div7</div><script>$(".div1").replaceWith("<p>p1</p>");//把p标签替换成p标签</script></body></html>显⽰如下:例⼦⼆:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><p>p1</p><p>p2</p><p>p3</p><p>p4</p><div class="div1">div5</div><div class="div1">div6</div><div class="div1">div7</div><script>$(".div1").replaceAll("p");//把div类替换成⽂档中所有的p标签</script></body></html>显⽰如下:3.4 删除$("p").empty() 删除所有的p标签中的所有的⼦标签$("p").remove([expr]) 删除所有的p标签以及p标签中的⼦标签3.5 复制$("p").clone() 克隆p标签$("p").clone(true) 布尔值指定事件处理函数是否会被复制3.6 循环使⽤jQuery实现的集合循环⽅式⼀:$.each(Array,function(){function_suite})⽅式⼆:$(element).each(function(){function_suite})例⼦:使⽤each循环进⾏判断代码⼀:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><script>li=[11,22,33,44,55,66,77];$.each(li,function(i,v){if(v==33){return;}console.log(v);});</script></body></html>打印如下:代码⼆:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><script>li=[11,22,33,44,55,66,77];//定义循环,i为列表的索引,v为列表索引对应的值$.each(li,function(i,v){//当循环中的值为33时if (v==33){return false;}console.log(v);});</body></html>打印如下:结论:each的参数function内如果出现return,结束当次循环,类似于continueeach的参数function内如果出现return false,结束的是整个each循环,类似break4. 事件4.1 事件$("p").click() 单击事件$("p").dbclick() 双击事件$("p").mouseover() 当⿏标指针位于元素上⽅时触发事件$("p").mousemove() 当⿏标指针在指定的元素中移动时触发事件$("p").mouseout() 当⿏标指针从元素上移开时触发事件$("input[type='text']").focus() 元素获得焦点时,触发focus事件$("input[type='text']").blur() 元素失去焦点时,触发blur事件$("input[type='text']").change() 当元素的值发⽣改变时触发事件$("button").mousedown() 当按下⿏标时触发事件$("button").mouseup() 元素上放开⿏标按键时触发事件$(window).keydown() 当键盘或按钮被按下时触发事件$(window).keypress() 当键盘或按钮被按下时触发事件,每输⼊⼀个字符都触发⼀次事件$(window).scroll() 当⽤户滚动窗⼝的滚动条时触发事件$(window).resize() 当调整浏览器窗⼝的⼤⼩时触发事件$(window).unload() ⽤户离开页⾯时,触发事件$("input").keyup() 当按钮被松开时触发事件$("input").select() 当input元素中的⽂本被选择时触发事件$("form").submit() 当提交表单时触发事件4.2 绑定⽅式$(标签).事件(函数内容)4.3 事件委托通过其上级(可以是多层上级)事件委托,当点击这个标签时才会绑定事件在页⾯不刷新的情况下添加⼀⾏数据,⾏数据有操作按钮,点击并⽆效果,就可以通过事件委托来解决委托⽅式:$("ul").on("click","li",function(){function_suite})例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="jquery-3.2.1.js"></script></head><body><div id="box"><div class="item">111</div><div class="item">222</div><div class="item">333</div><div class="item">444</div><div class="item">555</div><div class="item">666</div></div><button>ADD</button><script>//为"button"按钮添加点击事件$("button").click(function(){$("#box").append("<div class='item'>777</div>");//在div标签后⾯添加⼀⾏//为"box"下的"item"类添加点击事件$("#box").on("click",".item",function(){console.log($(".item").text());//打印"item"类的⽂本})</script></body></html>4.4 event object所有的事件函数都可以传⼊event参数⽅便处理事件⽅式:$("p").click(function(event){function_suite})(event_object)的属性⽅法event.pageX 事件发⽣时,⿏标距离⽹页左上⾓的⽔平距离event.pageY 事件发⽣时,⿏标距离⽹页左上⾓的垂直距离event.type 事件的类型event.which 按下了哪⼀个键event.data 在事件对象在绑定数据,然后传⼊事件处理函数event.target 事件针对的⽹页元素event.preventDefault() 阻⽌事件的默认⾏为(⽐如点击链接,会⾃动打开新页⾯)event.stopPropagation() 停⽌事件向上层元素冒泡4.5 动画效果基点$("p").show() 显⽰隐藏的匹配元素$("p");show("slow") 参数表⽰速度,("slow","normal","fast"),也可以设置为毫秒$("p").hide() 隐藏显⽰的元素$("p").toggle() 切换显⽰/隐藏例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../0814/jquery-3.2.1.js"></script></head><body><img src="a.jpg">;//定义⼀张图⽚<hr><button class="hide_element">hide</button>;//定义隐藏按钮<button class="show_element">show</button>;//定义显⽰按钮<button class="toggle_element">toggle</button>;//定义切换按钮<script>//定义隐藏的点击事件$(".hide_element").click(function(){$("img").hide()});//定义显⽰的点击事件$(".show_element").click(function(){$("img").show()});//定义切换按钮的点击事件$(".toggle_element").click(function(){$("img").toggle()});</script></body></html>⽤浏览器打开的效果如下:可以看到,图⽚是显⽰的,点击"hide"按钮,图⽚就被隐藏起来,然后再点击"show"按钮,图⽚就⼜会被显⽰出来了.另外,当图⽚显⽰的时候,点击"toggle"按钮,图⽚就会隐藏,⽽当图⽚是隐藏的时候,点击"toggle"按钮,图⽚⼜会显⽰出来.4.6 滑动操作$("p").slideDown("1000") ⽤1000毫秒的时间将段落滑下$("p").slideUp("1000") ⽤1000毫秒的时间将段落滑上$("p").slideToggle("1000") ⽤1000毫秒的时间将段落滑上,滑下例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../0814/jquery-3.2.1.js"></script></head><body><img src="a.jpg" style="width:500px;height:300px"><hr><button class="slide_up">slide_up</button><button class="slide_down">slide_down</button><button class="toggle">toggle</button><script>//对"slide_up"类绑定点击事件$(".slide_up").click(function(){$("img").slideUp(1000);//⽤1000毫秒的时间将段落收起});//对"slide_down"类绑定点击事件$(".slide_down").click(function(){$("img").slideDown(1000);//⽤1000毫秒的时间将段落滑下});//对"toggle"类绑定点击事件$(".toggle").click(function(){$("img").slideToggle(1000);//⽤1000毫秒的时间将段落滑下或者收起 });</script></body></html>4.7 淡⼊淡出$("p").fadeIn("1000") ⽤1000毫秒时间将段落淡⼊$("p").fadeOut("1000") ⽤1000毫秒时间将段落淡出$("p").fadeToggle("1000") ⽤1000毫秒时间将段落淡⼊,淡出$("p").fadeTo("slow",0.6) ⽤慢速度将段落的透明度调整到0.6例⼦:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="../jquery-3.2.1.js"></script></head><body><img src="a.jpg" style="width:500px;height:300px"><hr><button class="fade_in">fadeIn</button><button class="fade_out">fadeOut</button><button class="fade_toggle">fadeToggle</button><button class="fade_to">fadeTo</button><script>//对"fade_in"类绑定点击事件$(".fade_in").click(function(){$("img").fadeIn(1000);//⽤1000毫秒时间将段落淡⼊});//对"fade_out"类绑定点击事件$(".fade_out").click(function(){$("img").fadeOut(1000);//⽤1000毫秒时间将段落淡出});//对"fade_toggle"类绑定点击事件$(".fade_toggle").click(function(){$("img").fadeToggle(1000);//⽤1000毫秒时间将段落淡⼊或淡出});//对"fade_to"类绑定点击事件$(".fade_to").click(function(){$("img").fadeTo("slow",0.6);//⽤慢速度将图⽚的透明度调整到0.6 });</script></body></html>4.8 页⾯载⼊页⾯载⼊,也就是当页⾯载⼊成功后⽴即运⾏的函数事件$(document).ready(function(){function_suite})也可以简写为:$(function(){function_suite})。

jq常用方法

jq常用方法

jq常用方法jq是一个快速、简洁、灵活的JavaScript库,它允许我们轻松地操纵HTML文档,解析和处理JSON数据、处理表单和事件等。

在使用jq时,我们经常用到一些常用方法,那么接下来,我们就来一一讲解。

1. 选择器在jq中,选择器是最为基本的部分,它可以让我们快速地筛选元素,比如:- $("#id"):根据id选择元素。

- $(".class"):根据class选择元素。

- $("tag"):根据标签名选择元素。

- $("element").find(selector):在指定元素中查找符合条件的元素。

2. 事件绑定在jq中,我们可以通过事件绑定来实现在指定元素上触发事件。

常用的事件有:- $(selector).click(function(){}):点击元素触发事件。

- $(selector).mouseover(function(){}):鼠标移上元素触发事件。

- $(selector).submit(function(){}):表单提交触发事件。

- $(selector).focus(function(){}):元素获得焦点触发事件。

3. DOM操作在jq中,我们可以通过一些方法来快速地操作DOM元素,比如:- $(selector).html():获取或设置元素的HTML内容。

- $(selector).text():获取或设置元素的文本内容。

- $(selector).attr():获取或设置元素的属性。

- $(selector).addClass():为元素添加class。

- $(selector).remove():删除指定元素。

4. 动画效果在jq中,我们可以通过动态效果来增加网页的交互性,比如:- $(selector).show(speed,callback):显示元素,可以设置速度和回调函数。

jQuery中事件绑定

jQuery中事件绑定

jQuery中事件绑定⼀、前⾔最近在做项⽬中要⽤到jQuery来绑定事件,⾸先想到的是$(selector).事件名();这样绑定事件的⽅式,这种⽅式对事件进⾏绑定其实也就是bind()⽅法,但当选择器匹配的元素过多,$(selector).事件名();对每个元素进⾏迭代绑定,会影响性能。

除了这种⽅式可以绑定事件以外,还有live()(已过期)、delegate()、on()⽅法绑定事件,接下来分析⼀下它们的区别,以及使⽤哪种⽅式最值得推荐。

由于live()⽅法已过期,只分析另外三种,欢迎拍砖、吐槽~~~⼆、⽤法与区别先准备⼀个example,⽤于不同⽅法绑定事件测试与对⽐。

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>on()、delegate()、bind()事件绑定测试</title><link rel="stylesheet" type="text/css" href="bootstrap.css"></head><body><div style="width:800px;margin:50px auto;"><botton class="btn btn-success" id="btn">新增⼀个p元素</botton><p>1</p><p>2</p></div><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn').click(function(){$('div').append('<p>新增⼀个p元素</p>');});});</script></body></html>接下来对所有的p元素绑定click事件,如:bind()⽅法:为被选元素添加⼀个或多个事件处理程序,并规定事件发⽣时运⾏的函数。

《jq》教案教学设计

《jq》教案教学设计

《jq》教案教学设计一、教学内容本节课的教学内容来自教材《jq》的第三章,主要内容包括:1. 介绍jq的基本概念和用法;2. 讲解如何使用jq选择元素、操作元素和事件处理;3. 演示如何利用jq实现动态效果和交互功能。

二、教学目标1. 让学生掌握jq的基本概念和用法;2. 培养学生使用jq选择元素、操作元素和事件处理的能力;3. 引导学生利用jq实现动态效果和交互功能。

三、教学难点与重点重点:1. jq的基本概念和用法;2. 使用jq选择元素、操作元素和事件处理;3. 利用jq实现动态效果和交互功能。

难点:1. jq的选择器和工作原理;2. 事件处理和事件冒泡;3. 动态效果和交互功能的实现。

四、教具与学具准备教具:1. 投影仪和显示屏;2. 计算机和投影软件;3. 教鞭和教学PPT。

学具:1. 计算机和网络连接;2. 《jq》教材和课堂笔记;3. 编程环境和代码编辑器。

五、教学过程1. 实践情景引入:利用投影仪展示一个简单的网页,并现场演示如何使用jq实现动态效果,如图片轮播、下拉菜单等。

2. 知识讲解:讲解jq的基本概念和用法,介绍jq的选择器和工作原理,以及如何使用jq选择元素、操作元素和事件处理。

3. 例题讲解:通过具体的例题,演示如何利用jq选择元素、操作元素和事件处理。

例如,编写一段代码实现按钮改变元素颜色、滑动图片等效果。

4. 随堂练习:让学生动手实践,尝试编写代码实现一些简单的动态效果。

如:利用jq实现一个简单的轮播图、下拉菜单等。

5. 课堂互动:邀请学生上台演示自己编写的代码,并为大家讲解代码的实现原理。

同时,教师针对学生的代码进行点评和指导。

六、板书设计板书内容主要包括:1. jq的基本概念和用法;2. jq的选择器和工作原理;3. 使用jq选择元素、操作元素和事件处理的方法;4. 利用jq实现动态效果和交互功能的示例。

七、作业设计1. 请用jq编写一个简单的轮播图,要求包含图片切换、自动播放等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
$(“a”).hover( function(){}, function(){} )
切换事件
切换事件
hover()方法: 代码2:
$(“a”).mouseenter(function(){ }) $(“a”).mouseleave(function(){ })
切换事件
切换事件
hover()方法: 由此可见,hover()的功能是当鼠标移到元素上时,执 行第一个元素;移出时执行第二个元素。语法如下: hover(in,out) in为鼠标移到元素时触发的函数,out为鼠标移出元 素时触发的元素。下面通过示例进行说明:
绑定事件
绑定事件
一个元素绑定多个事件: 在bind方法中,通过空格将事件隔开,可以绑定多个 事件。 $(function() { $("#btnBind").bind("click mouseout", function() { $(this).attr("disabled", "true"); //按钮不可用 }) })
绑定事件
绑定事件
可选参数data是作为event.data属性值传递给事件的 数据。 fn是绑定到事件的事件处理函数。 下面通过示例说明bind的用法:
绑定事件
绑定事件
方法绑定事件: 方法:bind(type,fn) 示例: 功能描述:页面中有一个按钮,绑定该按钮的click事 件,将自身不可用属性设置为true, 使得按钮单击后就不能被使用。 实现代码:示例\bind方法绑定事件.html
移除事件
移除事件
unbind方法移除事件: 方法:unbind([type],[fn]) 示例: 功能描述:设置三个按钮,前两个按钮设置指定的 事件,第三个按钮移除所有事件。点击 第三个按钮后,前两个按钮的事件响应 失效。 实现代码:示例\unbind方法移除事件.html 练习:如何使第二个按钮的点击失效,第一个不受影响?
JQuery选择器的介绍中,有专门的表单选择器,可见 表单在JQuery中有很重要的地位,在事件处理中,也针对 表单设计了特定的应用。
表单应用
表单应用
文本框中的事件应用: 方法: 示例: 功能描述:创建一个文本框,CSS与Jquery结合。当文 本框获取焦点时,同时提示输入的格式。 用户输入邮箱后,文本框丢失焦点时。将 检测邮箱是否为空或格式是否不正确,不 正确给出提示。正确给出一个打勾提示。 实现代码:示例\文本框中的事件应用.html
绑定事件
绑定事件
映射绑定事件: 方法:bind(type:fn1,type:fn2…) 示例: 功能描述:设置文本框,绑定focus事件和change 事件,两个事件执行时,显示事件名称 实现代码:示例\映射方式绑定不同事件.html
绑定事件
绑定事件
绑定事件时传递参数: 方法:bind(type,data,fn) 示例: 功能描述:设置文本框,绑定focus事件和change 事件,两个事件执行时,通过传递的参 数内容显示事件名称 。 实现代码:示例\过bind()方法绑定事件,与之相对的,通过 unbind()方法移除事件。该方法可以移出所有事件或指定 的事件,语法格式如下: unbind([type],[fn]),其中,type为事件类型,fn为事 件处理函数。如果该方法没有参数,移除所有绑定的事 件,如果带有参数type,则移出所有type类型的绑定事件 ,如果带有参数fn,移除指定的函数fn。
Jquery中的事件与应用
事件机制
什么是事件
事件本质就是对消息的封装,用作对象之间的通信;发 送方叫事件发送器,接收方叫事件接收器; 例如当用户浏览页面时,当页面加载时,执行一个load 事件,页面根据规定,做出第一次加载的种种操作:设置 背景色、显示欢迎界面等。
事件机制
事件的冒泡
事件在元素对象与功能代码间起到桥梁的作用,那么, 事件在触发后是如何执行代码的呢? 事件在被触发后分为两个阶段,一是捕获,二是冒泡 但是大多数浏览器不支持捕获,JQ也不支持。因此在事件 触发后,执行冒泡。下面通过示例说明了冒泡现象: 示例:示例\事件中的冒泡.html
表单应用
表单应用
下拉列表框联动: 方法: 示例: 功能描述:页面中三个下拉列表框,分别保存厂商、 品牌、型号的数据,选择厂商时,品牌 随之改变;选择品牌时,型号随之改变。 单击查询按钮时,将选择呈现出来。 实现代码:示例\下拉列表框联动.html
谢谢!
body
div
按钮
事件机制
事件的冒泡
在实际应用中,我们希望单击按钮就执行单一的事件, 不要触发外面的元素事件。此时可以通过下面方法来阻止 事件的冒泡: event.stopPropatation() 尝试在前面示例中的click方法中加入stopPropatation, 观察冒泡是否被阻止。 说明:也可以通过return false来阻止冒泡的过程。
其他事件
其他事件
Jquery还有其他的事件处理方法,例如one()和 trigger()方法。语法格式如下: one方法: one(type,[data],fn),其中,type为事件类型,data为 可选参数,表示作为event.data属性值传递给事件对象额 外的数据对象。fn为事件处理函数。
绑定事件
绑定事件
除了上述写法之外,也可以通过bind()方法进行事件 的绑定,语法为: bind(type,[data],fn) 其中,type为一种或多种类型的字符串,例如 “click”、“change”,可以存在的选择有:blur、focus load、resize、scroll、upload、click、dblclick、 mousedown、mouseup、mousemove、mouseover、 mouseout、mouseenter、mouseleave、change、select、 submit、keydown、keypress、keyup、error。
事件机制
事件的冒泡
奇怪的看到,在示例中单击了一次按钮,但是计数为3, 这是因为事件的执行存在冒泡现象。虽然单击的是按钮, 但是外围div的事件也被触发,之后div外围的body的事件也 被触发,整个事件波及的过程就像水泡一样向外冒,称为 冒泡现象。在上面的示例中,冒泡的过程如下图所示:
事件机制
事件的冒泡
绑定事件
绑定事件
练习:方法绑定事件: 方法:bind(type,fn) 示例: 功能描述:页面有一个加号按钮,绑定该按钮的click 事件,点击时自动添加元素,为新添加 的减号按钮绑定click事件,单击时删除。 元素。 实现代码:示例\练习-动态创建可删除节点.html
切换事件
切换事件
toggle()方法: 调用toggle方法时,可以依次调用指定的N个函数, 直到最后一个函数,然后重复对这些函数轮番调用。 下面是函数的使用形式: toggle(fn1,fn2,fn3…..)
切换事件
切换事件
toggle方法切换事件: 方法:toggle(fn1,fn2,fn3…) 示例: 功能描述:创建一个img,用户第一次单击该标志时 变换另外一幅图片,第二次单击时,显 示第三幅图片,第三次单击时,显示初 始图片。依次轮番显示。 实现代码:示例\hover切换事件.html
页面载入事件
Ready方法的几种写法
$(document).ready(function(){ 代码部分 }) $(function(){ 代码部分 }) jquery(document).ready(function(){ 代码部分 })
绑定事件
绑定事件
我们在示例“事件中的冒泡”中,利用了如下方法指 定元素的click事件: $(function() { $(“#btnShow").click(function(event) { }) })
其他事件
其他事件
trigger方法绑定事件: 方法: trigger(type,[data]) 示例: 功能描述:创建一个文本框,给它设置一个默认值。 页面加载时,自动获取文本框的值,显示 在页面中,同时文本框处于选中状态。 实现代码:示例\trigger方法绑定事件.html
表单应用
表单应用
切换事件
切换事件
hover方法切换事件: 方法:hover(in,out) 示例: 功能描述:创建一个div,在该标记中,设置另外两 个div,一个是标题,一个是内容,当鼠 标移到标题上时,自动显示内容,移出 时,关闭显示内容。 实现代码:示例\hover切换事件.html
切换事件
切换事件
页面载入事件
Ready方法的工作原理
第一章中,我们介绍了Jquery中ready方法和Javascript 中OnLoad方法的区别: OnLoad方法必须等页面元素都加载之后才能执行, 而ready方法只需要等页面DOM模型加载之后就能执行。
页面载入事件
Ready方法的工作原理
当Jquery脚本加载到页面时,会设置一个isReady标志 位,用于监听加载进度,当遇见ready方法执行时,检查 isReady是否被设置,如果未被设置,说明页面加载未完 成,此时将未完成的加载缓存起来,等执行完ready方法 后,将未完成部分一一执行。
Jquery中,有两个方法用于事件的切换:hover()和 toggle()。所谓切换事件,即有两个以上的事件绑定于 一个元素,在元素的行为动作间进行切换。如一个超级 链接标记,若想实现鼠标悬停时触发一个事件,鼠标移 出时触发另一个事件,利用hover()就可实现。
切换事件
切换事件
hover()方法: hover()可以使元素在鼠标悬停和鼠标移出间切换,在 实际运用中,也可通过mouseenter和mouseleave替换。 下面代码是等价的: 代码1:
相关文档
最新文档