jQuery的基本使用三

1 jQuery 事件注册

​ jQuery 为我们提供了方便的事件注册机制,是开发人员抑郁操作优缺点如下:

  • 优点: 操作简单,且不用担心事件覆盖等问题。
  • 缺点: 普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法
    语法
    register.png

2 jQuery 事件处理

  • on(): 用于事件绑定,目前最好用的事件绑定方法
  • off(): 事件解绑
  • trigger() / triggerHandler(): 事件触发
    语法
    on1.png

    on2.png

    on3.png

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

当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑。jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one()
语法

off.png

4 事件处理 trigger() 自动触发事件

语法

t1.png

t2.png

5 jQuery 事件对象

jQuery 对DOM中的事件对象 event 进行了封装,兼容性更好,获取更方便,使用变化不大。事件被触发,就会有事件对象的产生。

event.png

演示代码

<body>
    <div></div>

    <script>
        $(function() {
            $(document).on("click", function() {
                console.log("点击了document");
            })
            $("div").on("click", function(event) {
                // console.log(event);
                console.log("点击了div");
                event.stopPropagation();
            })
        })
    </script>
</body>

注意:jQuery中的 event 对象使用,可以借鉴 API 和 DOM 中的 event 。

6 jQuery 拷贝对象

语法

extend.png

<script>
    $(function () {
        var targetObj = {};
        var obj = {
            id: 1,
            name: "andey"
        }
        $.extend(targetObj, obj);
        console.log(targetObj);
        var targetObj = {id: 100};
        var obj = {
            id: 1,
            name: "andey"
        }
        $.extend(targetObj, obj);
        console.log(targetObj); //会覆盖原来的数据

        var targetObj = {
                id: 100,
                msg: {sex: '男'}
            }
        ;
        var obj = {
            id: 1,
            name: "andey",
            msg: {age: 18}
        }
        $.extend(targetObj, obj);
        // console.log(targetObj);// 会覆盖targetObj 里面原来的数据
        // // 1. 浅拷贝把原来对象里面的复杂数据类型地址拷贝给目标对象
        targetObj.msg.age=20;
        console.log(obj)
        console.log(targetObj)
        //2.深拷贝把里面的数据完全复制一份给目标对象 如果里面有不冲突的属性,会合并到一起
        $.extend(true,targetObj,obj);
        // console.log(targetObj);
        targetObj.msg.age=20;
        console.log(targetObj);
        console.log(obj);
    })
</script>

8 jQuery 多库共存

实际开发中,很多项目连续开发十多年,jQuery版本不断更新,最初的 jQuery 版本无法满足需求,这时就需要保证在旧有版本正常运行的情况下,新的功能使用新的jQuery版本实现,这种情况被称为,jQuery 多库共存。
语法

noconfig.png

演示代码

<script>
    $(function () {
        function $(ele) {
            return document.querySelector(ele);
        }
        console.log($('div'));
        // 1. 如果$ 符号冲突 我们就使用 jQuery
        jQuery.each();
        //2.让jquery 释放对$控制权,让自己决定
        var meme=jQuery.noConflict();
        console.log(meme('span'));
        meme.each();
    });
</script>

9 jQuery 插件

​ jQuery 功能比较有限,想要更复杂的特效效果,可以借助于 jQuery 插件完成。 这些插件也是依赖于jQuery来完成的,所以必须要先引入

jQuery文件,因此也称为 jQuery 插件。

​ jQuery 插件常用的网站:

  1. jQuery 插件库 http://www.jq22.com/

  2. jQuery 之家 http://www.htmleaf.com/

    jQuery 插件使用步骤:

  3. 引入相关文件。(jQuery 文件 和 插件文件)

  4. 复制相关html、css、js (调用插件)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为甚嚒要学习jQuery? 因为JS中有很多痛点: window.onload事件只能出现一次,如果出现多次,后面...
    magic_pill阅读 4,239评论 0 13
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,897评论 0 1
  • 本文章是老马jQuery视频的讲义和上课的代码。具体观看视频地址:https://chuanke.baidu.co...
    IT老马阅读 7,334评论 3 14
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,199评论 0 2
  • 今天积极参与互动,收获更多。 听了昨天的课,我觉得感悟很深。赚钱,靠的是智慧、诚信。没有智慧,就无法在竞争中站稳脚...
    妈妈随笔阅读 819评论 0 0