trigger(type,[data])
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)瀘水,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
在每一個匹配的元素上觸發(fā)某類事件。
這個函數(shù)也會導(dǎo)致瀏覽器同名的默認行為的執(zhí)行。比如,如果用trigger()觸發(fā)一個'submit',則同樣會導(dǎo)致瀏覽器提交表單。如果要阻止這種默認行為,應(yīng)返回false。
你也可以觸發(fā)由bind()注冊的自定義事件
返回值 jQuery
參數(shù)
type (String) : 要觸發(fā)的事件類型
data (Array) : (可選)傳遞給事件處理函數(shù)的附加參數(shù)
示例
提交第一個表單,但不用submit()
jQuery 代碼:
$("form:first").trigger("submit")
--------------------------------------------------------------------------------
給一個事件傳遞參數(shù)
jQuery 代碼:
$("p").click( function (event, a, b) {
// 一個普通的點擊事件時,a和b是undefined類型
// 如果用下面的語句觸發(fā),那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]);
--------------------------------------------------------------------------------
下面的代碼可以顯示一個"Hello World"
jQuery 代碼:
$("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
=====================================================================
triggerHandler(type,[data])
這個特別的方法將會觸發(fā)指定的事件類型上所有綁定的處理函數(shù)。但不會執(zhí)行瀏覽器默認動作.
返回值 jQuery
參數(shù)
type (String) : 要觸發(fā)的事件類型
data (Array) : (可選)傳遞給事件處理函數(shù)的附加參數(shù)
示例
如果你對一個focus事件執(zhí)行了 .triggerHandler() ,瀏覽器默認動作將不會被觸發(fā),只會觸發(fā)你綁定的動作。
HTML 代碼:
button id="old".trigger("focus")/button
button id="new".triggerHandler("focus")/buttonbr/br/
input type="text" value="To Be Focused"/
jQuery 代碼:
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){ $("spanFocused!/span").appendTo("body").fadeOut(1000); });
有時候我們需要頁面自動點擊超鏈接或者按鈕,可以用js或者jQuery利用程序去點擊,方法很簡單,按鈕或超鏈接代碼如下:
點擊超鏈接 點擊按鈕
上面是一個超鏈接和一個按鈕,并且超鏈接和按鈕都綁定了點擊事件
先看超鏈接,如果我們打算點擊超鏈接的同時不僅觸發(fā)事件而且跳轉(zhuǎn)到href的指定鏈接,可以用:
script
document.getElementById("alink").click();/script
這樣就可以實現(xiàn)上面的功能,但是如果我只想觸發(fā)事件而不想跳轉(zhuǎn)呢,方法有兩個,第一個是href寫上href="javascript:;"
另外的方法是引入jQuery,然后用jQuery點擊事件觸發(fā)
script
$("#alink").click();/script
這樣就不會跳轉(zhuǎn)了
如果是按鈕的話,直接用以下代碼:1 script2 //真正的用程序點擊按鈕3 document.getElementById("btn").click();4 //沒有點擊按鈕,只是執(zhí)行了按鈕所綁定的事件5 document.getElementById("btn").onclick();6 /script
function test(){
$("[name=userList]:checkbox").click(); //有方法體就是重寫,沒方法體就是調(diào)用。所以,這樣。
}
test();
-----------------------------------
input type="hidden" id='h_input' /
script
$("[name=userList]").click(function(){
//多個值的話
var values = "";
$("[name=userList]:checked").each(function(){
values += $(this).val()+"|"; //用 ‘|’ 連接
});
$("#h_input").val(values);
});
/script
bind();
參數(shù)一:要綁定事件函數(shù)的事件名。
參數(shù)二:要綁定的事件函數(shù)(事件函數(shù)名),如果將來有可能刪除該綁定的函數(shù),則必須傳函數(shù)名。
bind()方法可以通過鏈式調(diào)用的形式連續(xù)多次調(diào)用,進而個同一標簽的同一事件(不同事件)添加不同的事件函數(shù)。
on('事件名',fn);
one('事件名',fn);該方法綁定的事件函數(shù)只能被觸發(fā)一次。
unbind();
參數(shù)一:要解綁事件函數(shù)的事件名(如果只傳這一個參數(shù),則該事件名中綁定的函數(shù)全部解除)。
參數(shù)二:要解除綁定的事件函數(shù)名。
off();
注意:bind()和unbind()在3.0后已經(jīng)被on()和off()取代。
事件簡寫本質(zhì)就是簡化給標簽添加事件函數(shù)的操作,標準的添加事件方法:on/bind/one,類似于js的DOM2級添加事件函數(shù)操作;事件簡寫類似于DOM0級的事件綁定操作。
jq事件簡寫綁定事件函數(shù)的技術(shù)實現(xiàn)原理:
1、jq給每一個事件名定義了同名的函數(shù),用戶調(diào)用的事件簡寫形式,就是在調(diào)用這個和事件名同名的函數(shù)
2、同名函數(shù)內(nèi)部實現(xiàn)原理:當(dāng)用戶調(diào)用了該函數(shù),首先獲取該函數(shù)的函數(shù)名(函數(shù)名代表的是事件名),在函數(shù)內(nèi)部通過on把通過參數(shù)傳進來的函數(shù)綁定在函數(shù)名對應(yīng)的事件上。
blur(fn):失去焦點時觸發(fā)該方法。
focus(fn):當(dāng)鼠標或tab按鈕讓元素獲得焦點時,觸發(fā)該函數(shù)。
change(fn):表單元素失去焦點(單選框、復(fù)選框、下拉菜單標簽被選中即可觸發(fā),不需等待失去焦點),觸發(fā)該事件。
click(fn):鼠標點擊時觸發(fā)該事件。
dbclick(fn):雙擊元素時觸發(fā)該事件(注意:把click和dbclick用于同一個元素會產(chǎn)生問題)。
$(window).scroll(fn):當(dāng)頁面滾動時觸發(fā)事件。
hover(fn1,fn2):鼠標移入觸發(fā)fn1函數(shù),鼠標移出觸發(fā)fn2函數(shù)。
復(fù)合事件:toggle().在1.8之前中,復(fù)合了奇、偶次點擊事件,在1.9之后的版本中toggle方法用于jq的動畫
toggle()方法在1.8之前的版本中需要兩個函數(shù)類型作為參數(shù),奇數(shù)次點擊觸發(fā)第一個函數(shù),偶數(shù)次店家觸發(fā)第二個函數(shù)。
事件對象的獲取:在事件觸發(fā)的函數(shù)中傳遞event參數(shù)。
event.type:事件類型
event.target:觸發(fā)事件的元素
e.currentTarget:事件綁定在哪個元素上
event.pageX:鼠標相對于文檔的左側(cè)坐標
event.pageY:鼠標相對于文檔的頂部坐標
e.preventDefault():取消標簽事件,如a標簽的頁面跳轉(zhuǎn)。
e.stopPropagation():阻止事件冒泡
1、阻止事件冒泡
stopPropagation()方法
2、阻止默認行為
preventDefault()方法
注意:1、return false 在jQuery中是即阻止事件冒泡又阻止默認行為
2、jQuery不支持事件捕獲
解密jQuery事件核心:
常用模擬
在jQuery中,可以使用trigger()方法完成模擬操作。
例如,使用如下代碼來觸發(fā)id為btn按鈕的click事件。
代碼示例:
$("#btn").trigger("click");
當(dāng)頁面加載完畢后,就會立刻輸出想要的效果。
也可以直接用簡化寫法click():
代碼示例:
$("#btn").click();
回車一般的作用是提交或者換行,提交的話就是下面這樣
$('#formXXX').submit(function() {
。。。
});
換行的話就是這樣
$('#target').html($('#target').html()+'\n')
網(wǎng)站名稱:jquery模擬事件,jQuery事件處理
文章位置:http://chinadenli.net/article42/dsigphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、建站公司、網(wǎng)站導(dǎo)航、云服務(wù)器、虛擬主機、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)