javascript- jQuery(事件/外掛拓展)
阿新 • • 發佈:2022-04-07
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();