1. 程式人生 > 其它 >javascript- jQuery(事件/外掛拓展)

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外掛: 相關元件直接複製 網址:https://v3.bootcss.com/components/