Jquery系列(四) 事件处理

引言:

               事件:可以被控件识别的操作,控件对象和具体方法之间的联系桥梁。

概述:

              jQuery的事件处理程序:当HTML页面中发生某些事件时所调用的方法,jQuery事件处理方法是jQuery中的核心函数,jQuery通过DOM为元素添加事件。

内容:

              jQuery事件的具体内容,小编用一幅图呈现给大家:

                             

          这幅图看起来很简单,但是包含了很多jQuery的基础知识概念。

          一  我们先从jQuery的处理机制开始说,那么jQuery是如何实现事件处理的哪?在jQuery中一共存在俩种方法,一是通过修改DOM属性的方式来添加事件,示例代码如下:其中字体加粗的就是通过把一个函数赋给给了一个button的onclick事件属性。

<html>
    <head>
        <script src="jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
            function showMsg(){
                alert("我是李明");
            }
            $(function(){
                document.getElementById("btn").onclick = showMsg;
            }); 
        </script>
    </head>
    <body>
        <input type="button" id="btn" value="Click me!"/>
    </body>
</html>
当然还存在另外一种方法,直接使用jQuery定位到某个元素,然后绑定事件,在事件中定义并使用函数。示例如下:

$("button#btn").click(function(){
     alter("我是李明");
})
为什么要在#btn前面加上button,就是一个控件类型的标识,如果是div元素,就可以写成div#**。最后关于事件处理方法,这里也要对比一下JavaScript,主要区别在于jQuery比传统的JavaScript的事件句柄属性少了on,也就是在JavaScript的事件是onclick,那么在jQuery中就是click。

          二 接下来介绍,jQuery事件的基础分类,小编认为jQuery的事件分为三类:

               1 页面载入事件$(document).ready()

                  这个事件是最高级别的,只要你写了这个事件,如果页面对应的DOM结构就绪时就可以被调用执行。理解这个事件,需要和我们熟悉的JavaScript的window.onload()事件作对比,那么俩者有什么区别哪?(1)window.onload()事件是页面中所有元素(包括与元素关联的外部资源文件)全部加载到浏览器后才执行,但是jQuery到只要DOM结构加载完,就会调用$(document).ready()事件。(2)window.onload()方法只能一次添加一个事件处理函数,因为onload事件一次只能保存对一个函数的引用,会自动用后面的函数覆盖前面的函数,不能在现有的行为上添加新的行为。但是jQuery就不一样,$(document).ready()方法可以在现有的行为上追加新的行为,事件处理程序函数会根据注册的顺序依次执行。示例如下:

function one(){
	.....
}
function two(){
	.....
}

window.οnlοad=one;
window.οnlοad=two;

$(document).ready(function(){
	one();
})
$(document).ready(function(){
	two();
})
                  javascript的方法只能执行two方法,但是jQuery的就可以按照顺序,先执行one,再执行two。

                  jQuery的页面加载事件声明方式有三种:1 基本方式:$(document).ready(function(){  //程序代码 }) ;2 简化方式:$(function(){   //程序代码}) ; 3 此外$(document)可以简写成$(),也就是$()不带参数,默认是document,所以第三种方式:$().ready(function(){   //程序代码   })  。

              2 一般的事件的比较多,较长用的包括:单击双击事件、焦点获取失去事件、鼠标移动事件等等。

              3  jQuery合成事件:hover方法、toggle方法。hover方法是mouseenter和mouseleave俩个事件的合成事件,实现方式:$(selector).hover(enter,leave),当光标移到元素上就会触发第一个函数enter,相当于触发mouseenter事件,当光标移出这个元素时,会触发制定到而第二个函数leave,也就是mouseleave事件方法。toggle方法用于绑定俩个或者多个事件处理器函数,将多个函数做参数放到toggle方法里面,第一次触发第一个,第二次触发第一个,依次类推。    

               三 事件的操作,包括绑定、移除、冒泡、模拟。

              1 绑定:(1)bind()方法:可以绑定一些标准事件,例如.click()用于简化.bind('click');基本语法:$(selector).bind(event,data,function),参数分别代表事件节点,传输数据,执行函数。

                            (2)one()方法:为每一个匹配元素的特定事件绑定一个一次性的事件处理函数,特点在于这个事件只执行一次,以后再也不会执行;基本语法:$(selector).one(event,data,function)。

                            (3)live()方法:可以为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数,特点在于本方法能动态添加元素,这样由脚本创建的新元素也一样绑定事件。

              2 移除:unbind()方法:用于移除匹配元素上绑定的一个或者多个事件的事件处理程序,该方法适用于任何通过jQuery附加的事件处理程序。该方法有俩种形式,第一种:移除当前匹配元素的events事件绑定的事件处理函数,语法格式:$(selector).unbind([events[,handler]]);第二种:使用Event对象来取消绑定事件处理程序,语法结构:$(selector).unbind(eventObj)。

              3 事件冒泡:当事件发生后,这个事件就要开始传播,但是这个传播是有方向的,一个事件发生,总会存在一个事件源,事件发生,从当前元素开始向上级传播,直到传播到页面。当然这个事件冒泡是可以被阻止的,共包括俩种方式:(1)通过stopPropagation()方法来停止事件冒泡,(2)在事件处理方法中通过返回false来取消默认的行为,并阻止事件起泡,实现原理:同时调用stopPropagation()和preventDefault()方法,preventDefault在jQuery中可以取消默认的行为。

              4 模拟事件:在jQuery中可以使用trigger()方法来完成模拟操作,也就是功能实现了,但是显示效果没有完全达到。

总结:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值