jquery事件

事件綁定

第一種:$(selector).事件(fn)

$(document).click(function () {
    //代碼
});

第二種:$(selector).bind(”事件1 事件2 …”,fn)

$(document).bind("click mouseenter", function () {
    //代碼
})

第三種:$(selector).delegate(selector,[events],[data],fn)

jQuery 3.0中已棄用此方法,請用 on()代替。
參數:
selector:觸發事件元素,可以沒有
events:事件
data:傳遞到函數的額外數據

$(document).delegate(".box","click mouseenter",{"top":1}, function (event) {
    alert(event.data.top);
})

第四種:$(selector).on(events,[selector],[data],fn)【推薦使用】

參數:
events:事件
selector:觸發事件元素,可以沒有
data:傳遞到函數的額外數據

$(document).on("click mouseenter",".box",{"top":1to}, function (event) {
    alert(event.data.top);
});

事件解綁

事件解綁儘量遵循用什麼方式綁定就用什麼方式解綁

第一種和第二種解綁:$(selector).unbind(events,[fn])

$(document).unbind("mouseenter");

第三種解綁:$(selector).undelegate([selector,[events],fn])

$(document).undelegate(".box","mouseenter",fn)

第四種解綁:off(events,[selector],[fn])

$(document).off("mouseenter",".box");

事件觸發

第一種觸發方式:$(selector).事件()

此方法會觸發瀏覽器行爲(效果)

$(document).click();
$(document).mouseenter();

第二種觸發方式:$(selector).trigger(events,[data])

此方法會觸發瀏覽器行爲

$("input").trigger("focus");

第三種觸發方式:$(selector).triggerHandler(events, [data])

此方法只會執行代碼,不會觸發瀏覽器行爲

$("input").triggerHandler("focus");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章