javascript- jQuery(事件/插件拓展)

jQuery事件

优势1:可以一次绑定多个事件
注册事件
复制代码
//1.单个事件注册
        $(function () {
            $("div").click(function () {
                $(this).css("background", "red");
            });
            $("div").mouseenter(function () {
                $(this).css("background", "black");
            });
        })
复制代码

事件处理on()绑定事件

复制代码
            $("div").on({
                mouseenter: function () {
                    $(this).css("background", "red");
                },
                click: function () {
                    $(this).css("background", "black");
                },
                mouseleave: function () {
                    $(this).css("background", "blue");
                }
            })
复制代码

如果事件处理程序一样可以如下进行

$("div").on("mouseenter mouseleave", function () {
                $(this).toggleClass("current");
            })

优势2:可以委托事件

//(2)实现事件委托
            // $("ul li").click();
            $("ul").on("click","li",function(){
                alert(11);
            })
            //click是绑定在ul身上,触发的却是li

优势3:可以给动态生成的元素进行绑定事件

//(3)给动态未来创建的元素绑定事件
            $("ol").on("click", "li", function () {
                alert(11);
            })
            var li = $("<li>123</li>");
            $("ol").append(li);
案例:微博发布
要点
 //2.删除留言
            $("ul").on("click", "a", function () {
                $(this).parent().slideUp(function () {
                    $(this).remove();
                });
            })

解绑事件

//解绑事件
            // $("div").off();//解除div身上所有的事件
            $("div").off("click");//解除div身上的click事件
            $("ul").off("click","li");//解除事件委托
            //2.one()但是它只能触发事件一次
            $("div").one("click",function(){
                alert(11);
            })

自动触发事件trigger()

//1.自动触发事件
            // $("div").click();
            //2.元素.trigger("事件")
            $("div").trigger("click");

事件对象

 $(document).on("click", function () {
                console.log("点击了doc");
            })
            $("div").on("click", function (event) {
                console.log("点击了div");
                event.stopPropagation();//阻止往上冒泡
            })
jQuery对象拷贝
浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝给目标对象,修改目标对象会影响被拷贝对象。
深拷贝是把里面的数据完全复制一份给目标对象, 如果里面有不冲突的属性,会合并到一起
 
多库共存
问题:如果$符号冲突
解决方案1:把里面的$改为jQuery
解决方案2:
            var suibian=jQuery.noConflict();
            console.log(suibian("span"));
            suibian.each();

jQuery插件

瀑布流插件、图片懒加载插件、全屏滚动插件
下载插件网址:http://www.htmleaf.com根据文档指示完成插件安装使用
 
bootstrap插件:
相关组件直接复制
posted @   终究还是避免不了遗憾  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示