jQuery中trigger方法用法
trigger() 觸發(fā)事件
觸發(fā)事件就是 類似于點(diǎn)擊click, mouseover, keydown 等有動(dòng)作的js事件,簡單的說就是一個(gè)動(dòng)作,可能有人會(huì)問,那show, hide 是不是? 不是
為什么要用 trigger() ?
比如:你給一個(gè)按鈕添加了一個(gè)click點(diǎn)擊事件,彈出提示框,代碼如下。
var div = $(“#mybutton”); //你的按鈕。 div.click(function() { alert(‘你是豬啊,~讓你點(diǎn),你就點(diǎn)?’);});
上面的代碼就是一個(gè)按鈕的click事件。這個(gè)時(shí)候你有個(gè)非分的要求,就是希望頁面刷新的.時(shí)候就點(diǎn)一下這個(gè)按鈕。如果不用trigger()你可以在后面這樣寫:
div.click();
如果用trigger(),你就要寫成這樣:效果跟上面這句是一樣,就是稍微長點(diǎn)。
div.trigger(“click”);
然后有人說:你是豬啊·~~ 上面這個(gè)短一點(diǎn),你還教我用下面這個(gè) =,=
表急著揍我么~· 繼續(xù)往下看。
你用手冊(cè) 里的索引搜一下click 可以看到 兩條 結(jié)果 click() 和,click(fn),然后 搜一下trigger 發(fā)現(xiàn)只有一個(gè) trigger(type, [data]) 。
然后你知道我的意思了吧! trigger 可以傳參數(shù)進(jìn)去。
我們看看 手冊(cè)里的trigger 例子:
$(“p”).click( function (event, a, b) { // 一個(gè)普通的點(diǎn)擊事件時(shí),a和b是undefined類型 // 如果用下面的語句觸發(fā),那么a指向”foo”,而b指向”bar” } ).trigger(“click”, [“foo”, “bar”]);
了解了吧?如果用click 的話,它不吃參數(shù),用trigger的話,就能吃了。
練習(xí)一下吧:黏貼到你的頁面上試試看,記得把jquery載進(jìn)來。
$(function() { var div = $(“#mybutton”); //你的按鈕。 div.click(function(e,text) { var text = text || ‘你是豬啊,~讓你點(diǎn),你就點(diǎn)?’; alert(text); }); div.trigger(“click”,”您好,請(qǐng)點(diǎn)擊按鈕”);});
demo:
下面的代碼可以顯示一個(gè)”Hello World” jQuery 代碼: $(“p”).bind(“myEvent”, function (event, message1, message2) { alert(message1 + ‘ ‘ + message2); }); $(“p”).trigger(“myEvent”, [“Hello”,”World!”]);
其實(shí)trigger()方法的意思自動(dòng)觸發(fā)被選元素的指定事件類型。
div{
width:200px;
height:200px;
border:1px solid blue;
}
【jQuery中trigger方法用法】相關(guān)文章: