Jquery——Day2(基础事件)

在jquery中,加载事件采用$(document).ready()方法,用它来代替JavaScript中的window.onload方法。

二者的区别在于(1)执行时机上,window.onload必须在网页所有元素加载到浏览器后才执行即访问网页中的元素;而$(document).ready()方法在于若DOM结构准备完全就绪,就可以被调用;(2)调用次数上,window.onload方法只可以加载一次,而$(docuemnt).ready()方法可以多次使用。(3)简写方式上,在jquery中,事件加载是有简写方式的,即$(function(){})。


事件分为:绑定事件bind()、简写事件、

1、绑定事件bind()

bind( type [,data] ,fn),该方法含有三个参数,第1个参数为事件的类型(blur、focus、load、click、mouseover等),第2个参数为可选的参数,第3个参数用来绑定的处理函数。

<div id="panel">
<h5 class="head">什么是jquery</h5>
<div class="content">
	jquery是一门编程语言,是一个优秀的JavaScript库,便于开发人员使用。
</div>
</div>

若要点击“什么是jquery”,出现content类下的文本内容,即需要使用click点击事件。

(1)绑定click事件

$(function(){
	$('#panel h5.head').bind('click',function(){
		$(this).next().show();
	});
});

(2)绑定mouseovermouseout事件

若鼠标滑过标题,即下面的内容content将显示出来;若鼠标滑出标题链接时,即下面的内容隐藏

$(function(){
	$("#panel h5.head").bind("mouseover",function(){
		$(this).next().show();
	}).bind("mouseout",function(){
		$(this).next().hide();
	});
});

mouseover、mouseout事件相对应的另外两个鼠标事件是mouseenter、mouserleave

二者区别:

(1)定义上讲,mouseover()、mouseout()表示鼠标移入和移出时会触发,

mouseenter()、mouseleave()表示鼠标穿过或穿出时会触发;

(2)当穿过子元素时,mouseenter()、mouseleave()不会触发,而mouseover()、mouseout()会触发

     (注意:enter不会触发子节点,over会触发子节点,平时使用enter的居多)


2、简写事件

    简写事件方式与bind()绑定事件实现效果相同,唯一的区别在于减少了代码量,将上述代码改写如下:

$(function(){
	$("#panel h5.head").mouseover(function(){
		$(this).next().show();
	}).mouseout(function(){
		$(this).next().hide()
	});
});

此外,与鼠标事件mouseover、mouseout对应的还有键盘事件keypress、keydown、keyup,写法类似。

keyup()、keydown()返回的是一个键值keyCode

keypress()表示触发鼠标按下。



(2)光标事件激活focus()、光标丢失blur()

同时focusIn()也表示表示光标激活,focusOut()表示光标丢失。

区别在于

focus()、blur()必须是当前元素才能激活,

而focusIn()、focusOut()可以是子元素激活。


3、复合(合成)事件

(1)ready(fn):表示DOM结构加载完毕

(2)hover(fn1,fn2):用于模拟光标悬停事件。

若光标移动到元素上,会触发指定的第一个函数(enter);移出该元素时,会触发第二个函数(leave),

它是mouseenter()、mouseleave()的结合体


$(function(){
	$("#panel h5.head").hover(function(){       //enter
		$(this).next().show(); 
	},function(){                               //leave
		$(this).next().hide();
	});
});


(3)toggle():用于模拟鼠标连续单击事件。

toggle(fn1,fn2,...,fnN)

若第一次单击元素,触发第一个函数(fn1);若第二次单击时,触发第二个函数(fn2),以此类推。

$(function(){
	$("#panel h5.head").toggle(function(){    //fn1
		$(this).next().toggle();
	},function(){                             //fn2
		$(this).next().toggle();
	});
});

(4)加强效果

即在css样式中添加类highlight(高亮)

.highhight{background:#ff3300;}

上述代码,在显示函数中,添加“高亮”,使得标题高亮显示;在隐藏函数中,添加高亮,使得内容高亮显示。

$(function(){
	$("#panel h5.head").toggle(function(){    //fn1
		$(this).addClass("highlight");
		$(this).next().toggle();
	},function(){                             //fn2
		$(this).removeClass("highlight");		
		$(this).next().toggle();
	});
});


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值