每天学点jQuery(二)


搞到这么晚,开始想着明天一早起来写这篇博文吧,但是刚刚帮一个同学调试完程序之后毫无睡意,就这么写完了吧,总结下今天学的这点儿,明天上午还得看别的东西。

首先上一篇文章是关于jQuery中什么时候给节点绑定事件,如果你懂得原生的javascript那么一般常用的就是window.onload,那上一篇文章就是介绍jQuery中的这样的方法,这篇呢就说下关于jQuery中的各种事件和由时间衍生出来的动画吧。

首先就是jQuery中有哪些事件呢?其实就是原生js中的一些事件,只不过jQuery稍微改了一下名字而已,那么常用的事件包括下面这些:

blur(), focus(), scroll(), click(), mouseover(), mouseout(), change(), keydown(), keyup(), submit()等等一些,那么你可以在API中查看到所有的事件。

那么如何给一个元素绑定事件呢,加入我的页面是这样的:

<div id="title">显示内容</div>
<div id="content" style="display:none;">
	这里是内容
</div>

然后js代码中就可以这么写:

<script type="text/javascript" src="./js/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	//给一个元素绑定一个事件 : 可以多次使用,也有解绑函数: unbind() 不常用
	$("#title").bind("click", function() {
		//可以用this来指代当前发生事件的对象
		//这里将js中原生的this对象转换成jQuery中的this对象
		//alert( $(this).text() );
		//通过is来对选中的元素做判断
		//visible表示元素可见
		if ( $("#content").is(":visible") ) {
			$("#content").hide();
		} else {
			$("#content").show();	
		}
	});
	$("#title").unbind();
});
</script>
那上面这个就是最基本的一个事件绑定的方法,我们通过jQuery中的bind()方法给一个选择的节点绑定事件,那它的参数呢你可看看API文档,还有就是我用你的jQuery是1.9的版本的。

然后就是如何解绑呢,就是通过下面那句unbind()方法了。

这没什么可说的,语言设计者给你一个方法,你要使用就得按照它的规则来,你要做的就是记住并且熟悉。那上面的代码中我认为比较重要的有两个点,一个就是jQuery中将元素的js中的this对象转换成jQuery中的this对象的方法的方式:$(this),这里如果你学过原生的js的话,那你应该知道js中的this是有些诡异的,那么你在jQuery中用的时候也要多注意了,this就是指代当前触发这个事件的元素节点。

再一个点就是判断元素是否具备某种属性,用is()函数,之所以说它有用是因为我们在操作DOM节点的过程中判断一个元素是否具备某一属性这个操作是很常用的。向上面的例子中的代码的意思即是说选中的#content元素的是否具备可见性,就是说这个节点是否可见即diaplay属性是不是block。

然后上面呢就是jQuery中一个基本的事件绑定的方法了。另外还有两个比较常用的,就是mouseover和mouseout,那么它们的绑定方式和上面绑定click事件一样的,但是这里要说的就是一个jQuery中的合成事件:hover()

这个方法将mouseover和mouseout合并了,它需要两个参数,这两个参数都是函数,第一个表示鼠标移入的操作,第二个表示鼠标移出的操作。示例如下:

$("#title").hover(function() {
		$("#content").show();		//第一个参数表示鼠标移入动作
	}, function() {
		$("#content").hide();		//第二个参数表示鼠标移出操作
	});

这个就是这个函数的基本用法,里面还有两个动画函数show()和hide(),这两个函数就是用来将选中元素“#content”设置成隐藏或者显示,具体的你可以自己查文档,简单到不行这俩函数。

那么用上面的两个示例演示了一下通过jQuery如何给一个元素加事件,那么既然有了事件,那还得注意js中一些关于事件出现的一些问题,因为jQuery仅仅是包装了js所有,对于js语言本身设计上出现的差错是没办法改变的,所以这里还得注意下。

那么这里需要注意哪些呢?

1,事件冒泡

2,默认行为

3,事件对象的获取

那么什么是js的事件冒泡呢?什么又是默认行为呢?什么又是事件对象呢?这里不记录这些,你可以去百度。这里只记录如何解决他们,以及在jQuery中是怎么解决的。

其实不管是原生的js还是jQuery对于阻止事件冒泡和默认事件都可以通过return  false;来解决,而且平时都是这么做的。对于每一个事件函数,最好是给它一个return  false;当然这个是阻止事件,你要是想返回真也是可以的。但是jQuery中提供了两个方法来实现阻止事件冒泡和默认行为,就是:event.stopPropagation()和event.preventDefault()

那么前面的那个event呢就是事件对象,那怎么获取它呢,就像下面这样:

$(document).ready(function() {
	//给span元素绑定click事件
	$("#span1").bind('click', function(event) {		//event用来捕获事件对象
		alert( 'span' );
		alert( event.type );	//通过事件对象来获取触发的事件类型
		alert( event.pageX + '|' + event.pageY );	//获取鼠标的坐标
		return false;		//阻止默认行为和事件冒泡
	});
	//给div元素绑定click事件
	$("#div1").bind('click', function() {
		alert( 'div' );
		return false;
	});
	//给body元素绑定click事件
	$("body").bind('click', function() {
		alert( 'body' );
		return false;
	});
});

那么,这样呢,就把jQuery中的事件学习了一下,另外这里还提一点就是关于鼠标点击事件的合成事件:toggle()这个函数,因为我用的jQuery1.9的版本,所以好像这个版本中toggle没有了绑定函数的功能,仅仅是改变元素的显示了,因为1.3的API文档上面说toggle可以绑定多个函数用来执行鼠标的单击事件,但是我用1.9测试的时候是不行的,而且查阅新的1.9文档的时候也是没发现它有说还能够绑定函数,所以这里需要留意下了。那么toggle是个什么东西呢,你可以去查文档,也可以去尝试着用一下。


另外这里说一点,就是如果你有看到我的文章,那么当我说查文档的时候你最好去看下,因为我觉得你如果想学习一门编程语言的话没有查文档的能力的话那么你的学习能力基本为0了!


好吧,今天就到这儿吧,这么晚了都,本来准备把动画那部分也写了的看来不能了,只能明天一早起来写了!


每天说一句,祝:保持积极的心态,快乐的学习!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值