jQuery学习笔记之jQuery事件

1. jQuery注册事件

单个注册事件

语法:

<body>
    <script>
        // element.事件(function(){})
        $("div").click(function(){
            ...;  //事件处理程序
        })
    </script>
</body>

其他事件和原生基本一致,如mouseover,mouseout,blur,focus,change,keydown,keyup,resize,scroll等

2. jQuery 事件处理 

2.1 事件处理 on() 绑定事件

2.1.1 优点1

on()方法在匹配元素上绑定一个或多个事件的事件处理函数

element.on(events, [selector],fn)

  1. events:一个或多个用空格分隔的事件类型,如"click或"keydown"。
  2. selector:元素的子元素选择器,可省略
  3. fn:回调函数即绑定在元素身上的侦听函数。
<body>
    <div></div>
    <script>
        // on()方法能绑定一个或多个事件
        $("div").on({
            mouseenter: function() {
                $(this).css("background", "red");
            },
            click: function() {
                $(this).css("background", "lightblue");
            },
            mouseleave: function() {
                $(this).css("background", "green");
            }
        })
    </script>
</body>

当事件处理程序相同时

$("div").on("mouseenter mouseleave",function(){
    xxx;  //事件处理程序
})

 

2.1.2 优点2

 可以事件委派操作。事件委派的定义就是,把原来加给子元素身上的事件绑定在父元素身上,就是把事件委派给父元素。

<body>
    <ul>
        <li>123</li>
        <li>123</li>
        <li>123</li>
        <li>123</li>
    </ul>
    <script>
        // click事件是绑定在ul身上的,但触发的对象是ul里的li
        $("ul").on("click","li",function(){
            alert("11");
        });
    </script>
</body>

 

2.1.3 优点3

 动态创建的元素, click()没有办法绑定事件, on()可以给动态生成的元素绑定事件

<body>
    <ol></ol>
    <script>
        // 给ol动态生成一个li
        var li = $("<li>99</li>");
        $("ol").append(li);
        // 给上面动态生成的li添加绑定事件
        $("ol").on("click", "li", function() {
            alert("55");
        })
    </script>
</body>

 

2.2 事件处理 off() 解绑事件

 off()方法可以移除通过on()方法添加的事件处理程序。

$("div").off();// 括号中为空时,解绑div的所有事件
$("div").off(“click”);// 解除点击事件的绑定
$("ol").off("click", "li");// 解除事件委托的绑定

 

2.2.1 one() 事件 

<body>
    <div>div</div>
    <script>
        // div的click事件只触发一次
        $("div").one("click",function(){
            alert(12);
        })
    </script>
</body>

2.3 自动触发事件

$("div").click()   //第一种形式

$("div").trigger("click")   //第二种形式

$("div").triggerHandler("click");//第三种形式,与上两种方式的区别就是,这种方法不会触发元素的默认行为

3. jQuery 事件对象

阻止默认行为: event.preventDefault()或者return false

阻止冒泡: event.stopPropagation()

4. jQuery 拷贝对象

$.extend([deep],target, object1, [objectN])

  1. deep:如果设为true为深拷贝,默认为false浅拷贝
  2. target:要拷贝的目标对象
  3. object1:待拷贝到第一个对象的对象。
        <script>
            $(function(){
                var targetObj={};
                var obj={
                    age:18,
                    uname:"amy"
                };
                // 将obj拷贝给targetObj,若targetObj中原本有数据,相同的属性会被覆盖掉,不同的属性会保留
                $.extend(targetObj,obj);
            })
        </script>

     

  4. objectN:待拷贝到第N个对象的对象。

  5. 浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝给目标对象,修改目标对象会影响被拷贝对象。

  6. 深拷贝,前面加true,完全克隆(拷贝的对象而不是地址) ,修改目标对象不会影响被拷贝对象。

5. 多库共存

问题:jQuery使用$作为标示符,随着jQuery的流行,其他js库也会用这$作为标识符,这样一起使用会引 |起冲突。

需求:需要-一个解决方案,让jQuery和其他的js库不存在冲突,可以同时存在,这就叫做多库共存。

jQuery解决方法:

  1. 把里面的$符号统-改为jQuery.比如jQuery("div')
  2. jQuery 变量规定新的名称: $.noConflict()    var xx = $.noConflict();

6. jQuery 插件

注意:这些插件也是依赖于jQuery来完成的,所以必须要先引入jQuery文件,因此也称为jQuery插件。

jQuery插件常用的网站:

  1. jQuery插件库:http://www.jq22.com/
  2. jQuery之家:http://www.htmleaf.com/

6.1 图片懒加载插件

当我们页面滑动到可视区域,再显示图片。

我们使用jquery插件库EasyLazyload.注意,此时的s引入文件和js调用必须写到DOM元素(图片)最后面

 6.2 全屏滚动 

网址:https://github.com/alvarotrigo/fullpage.js

中文翻译网站:https://www.dowebok.com/demo/2014/77/

6.3 bootstrap js插件

先引入bootstrap的css、js文件和jQuery文件,再使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值