jquery day4

1、为元素绑定事件(建议用on)

对象.事件名字(事件处理函数);---普通写法

对象.bind(参数1,参数2);---参数1:事件名字,参数2:事件处理函数

前两种方式只能为存在元素绑定事件,后添加元素没有事件

下面两种方法可以为存在元素绑定事件,后添加元素也有事件

对象.delegate("选择器","事件名字"事件处理函数,);---父级元素调用方法,代理子级元素绑定事件

对象.on("选择器","事件名字"事件处理函数,);---父级元素调用方法,代理子级元素绑定事件

2、案例添加课程

$(function(){

//显示对话框

$("#j_btnAddData").click(function(){

$("#j_formAdd").show();//显示对话框

$("#j_mask").show();//显示遮挡层

});

function closeKuang(){

$("#j_formAdd").hide();//隐藏对话框

$("#j_mask").hide();//隐藏遮挡层

}

//点击X关闭对话框

$("#j_hideFormAdd").click(function(){

closeKuang();

});

//添加数据案例

$("#j_btnAdd").click(function(){

//先获取课程文本框对象

var j_txtLesson=$("# j_txtLesson");

//获取学院文本框对象

var j_txtBelSch=$("# j_txtBelSch");

//创建行列并直接加入tbody中

$("<tr><td>"+j_txtLesson.val()+"<td><td>"+j_txtBelSch.val()+"</td><td>固定直接复制过来</td></tr>").appendTo($("j_tb"));

closeKuang();

//清空课程文本框

j_txtLesson.val(" ");

});

//为a注册点击事件,使用on

$("j_tb").on("click","get",function(){

$(this).parent().parent().remove();

});

});

3、bind解绑

对象.unbind("解绑事件名字"); 括号中没有参数,该元素所有事件都解绑

4、delegate解绑

对象.undelegate("对象","事件1 事件2");括号中没有参数,该元素所有事件都解绑

5、on解绑

对象.off("事件1 事件2");括号中没有参数,该父级元素和子级元素所有事件都解绑

对象.off("事件1 事件2","子级元素");该子级元素两个事件都解绑,事件为空,所有事件解绑

对象.off("事件1","**");该父级元素中子级元素所有事件1都解绑

8、事件冒泡阻止事件冒泡(操作子级元素触发父级元素事件)

$(function(){

$("#dv1").click(function(){

console.log($(this).attr("id"));

});

$("#dv2").click(function(){

console.log($(this).attr("id"));

});

$("#dv3").click(function(){

console.log($(this).attr("id"));

return false;

});

});

9、触发

对象.事件名字();

对象.trigger(事件名字);

对象.triggerHandle("事件名字");  //可以触发事件,不能触发浏览器行为

10、获取用户按下什么组合键

$(function(){

$(document).mousedown(function(e){

if(e.altKey){

console.log("按下alt键同时鼠标也按下了");

}elae if(e.shiftKey){

console.log("按下shift键同时鼠标也按下了");

}else if(e.ctrlKey){

console.log("按下ctrl键同时鼠标也按下了");

}else{

console.log("用户按下了鼠标");

}

});

});

11、按键改变颜色

$(function(){

$(document).keydown(function(e){

switch(e.keyCode){

case 65:$("#dv").css("backgroundColor","green");break;

case 66:$("#dv").css("backgroundColor","pink");break;

}

});

});

12、链式编程原理

.方法();---获取这个值

.方法(值);---返回当前的对象

13、案例五星评分

$(function(){

$(".comment>li").mouseenter(function(){

//当前li实行五角心,前面li也是实心,后面为空心

$(this).text("★").prevAll("li").text("★").end().nextAll("li").text("☆");

}).click(function(){

//点哪个li就为这个li添加一个自定义属性作为标识,但是其他li中自定义属性要删除

$(this).attr("index","1").siblings("li").removeAttr("index");

}).mouseleave(function(){

//鼠标离开获取带有index属性li,改变这个li五角星,前面实心,后面空心

$(".comment>li").text("☆");

$(".comment>li[index=1]").text("★").prevAll("li").text("★");

});

});

<ul class="comment">

<li>☆</li>

<li>☆</li>

<li>☆</li>

<li>☆</li>

<li>☆</li>

</ul>

14、each方法(遍历jquery对象)改变透明度

里面对象最开始是DOM对象,先转换为jquery对象

$(function(){

$("#uu>li").each(function(index,ele){

var opacity=(index+1)/10;

$(ele).css("opacity",opacity);

});

});

15、多库共存(避免命名冲突)

var xy=$.noConflict(); 把$让权给xy,$可以作为其他用法出现在代码中

16、包装集

如何判断页面中元素存在:通过.length属性不等于判断

只创建一个p标签

$("#btn").click(function9){

if($("#p1").length==0){

$("<p id='p1'>p标签</p>").appendTo("#dv");

}

});

17、几个属性

innerWidth()/innerHeight()内边距

outerWidth()/outHeight()包括内外边距和边框

18、插件

先下载(压缩包js文件,css文件,插件的js文件,index.html文件)

自己创建一个文件夹---插件

(1)引入js,css,插件的js文件

(2)把index.html中复制的hrml代码加入到自己body中

(3)把index.html文件中jquery代码复制到script标签中

19、做插件

<script src="jquery-1.12.1.js"></script>

<script>

//如果希望jquery对象能够调用这个方法,那么就把这个方法加入到$.fn.方法这个位置

$(function(){

//点击按钮改变每个div背景颜色

$.fn.changeColor=function(color){

$(this).css("backgroundColor",color);

};

$("#dv input").click(function(){

$("#dv2 div").changeColor($(this).val());

});

});

</script>

<div id="dv1">

<input type="button" value="red" />

<input type="button" value="green" />

<input type="button" value="blue" />

<div id="dv2">

<div></div>

<div></div>

<div></div>

</div>

</div>

步骤:

html文件

写样式代码,引入jquery文件,写功能代码,body中写结构代码,功能实现了

在js文件夹中,写入两个js文件(jquery的js文件,插件js文件)

实现基本功能代码放在js文件中

在css文件夹中写入css文件

把基本实现的代码加入到$.fn中

插件使用:

引入js,css,插件的js文件

复制html代码到body中

复制实现功能代码到页面加载事件中即可

20、切换商品

$.fn.changeTab=function(index){

$(this).find(ul:eq("+index+")").show().siblings("ul").hide();

};

$(function(){

//鼠标点击hd这个div中每个li改变背景颜色

$("#dv .hd li").click(function(){

$(this).addClass("on").siblings("li").removeClass("on");

//先获取当前li索引

var index=$(this).index();

$("#dv .bd").changeTab(index);

});

});

21、事件参数对象下属性

e.target得到的是触发该事件目标对象(DOM)

e.currentTarget得到的是触发该事件当前对象

e.delegateTarget得到的是代理的这个对象

22、jquery ui使用步骤(jquery官网plugs中)

(1)引入jquery ui的css文件

(2)引入jquery的js文件

(3)引入jquery ui的js文件

(4)查找和复制UI某个功能的所有代码(html,css,js)

f12找到代码名称,右键查看源代码ctrl+f输入代码名称,将html代码放在body中,css代码放在style中,js代码放在script页面加载中

(5)测试和适合

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值