-
mousedown事件觸發(fā)需要以下幾點(diǎn):
mousedown強(qiáng)調(diào)是按下觸發(fā)
如果在一個(gè)元素按住了鼠標(biāo)不放,并且拖動(dòng)鼠標(biāo)離開這個(gè)元素,并釋放鼠標(biāo)鍵,這仍然是算作mousedown事件
任何鼠標(biāo)按鈕被按下時(shí)都能觸發(fā)mousedown事件
用event 對(duì)象的which區(qū)別按鍵,敲擊鼠標(biāo)左鍵which的值是1,敲擊鼠標(biāo)中鍵which的值是2,敲擊鼠標(biāo)右鍵which的值是3
mouseup事件觸發(fā)需要以下幾點(diǎn):
mouseup強(qiáng)調(diào)是松手觸發(fā),與mousedown是相反的
mouseup與mousedown組合起來就是click事件
如果用戶在一個(gè)元素上按下鼠標(biāo)按鍵,并且拖動(dòng)鼠標(biāo)離開這個(gè)元素,然后釋放鼠標(biāo)鍵,這仍然是算作mouseup事件
任何鼠標(biāo)按鈕松手時(shí)都能觸發(fā)mouseup事件
用event 對(duì)象的which區(qū)別按鍵,敲擊鼠標(biāo)左鍵which的值是1,敲擊鼠標(biāo)中鍵which的值是2,敲擊鼠標(biāo)右鍵which的值是3
另外需要注意的是:
click與mousedown的區(qū)別:
click事件其實(shí)是由mousedown于mouseup 2個(gè)動(dòng)作構(gòu)成,所以點(diǎn)擊的動(dòng)作只有在松手后才觸發(fā)
查看全部 -
dbclick與click事件不同的是:
click事件觸發(fā)需要以下幾點(diǎn):
click事件其實(shí)是由mousedown與mouseup 2個(gè)動(dòng)作構(gòu)成,所以點(diǎn)擊的動(dòng)作只有在松手后才觸發(fā)
dblclick又是由2個(gè)click疊加而來的,所以dblclick事件只有在滿足以下條件的情況下才能被觸發(fā)
鼠標(biāo)指針在元素里面時(shí)點(diǎn)擊。
鼠標(biāo)指針在元素里面時(shí)釋放。
鼠標(biāo)指針在元素里面時(shí)再次點(diǎn)擊,點(diǎn)擊間隔時(shí)間,是系統(tǒng)而定。
鼠標(biāo)指針在元素里面時(shí)再次釋放。
注意:在同一元素上同時(shí)綁定 click 和 dblclick 事件是不可取的。各個(gè)瀏覽器事件觸發(fā)的順序是不同的,一些瀏覽器在dblclick之前接受兩個(gè) click 事件 ,而一些瀏覽器只接受一個(gè) click 事件。用戶往往可通過不同的操作系統(tǒng)和瀏覽器配置雙擊靈敏度
查看全部 -
你這樣想好了
function a() {
$("button:eq(2)").click(1111, data)
}
function data(e) {
alert(e.data)?
}
兩個(gè)函數(shù)順序?qū)φ{(diào) (事實(shí)上都是一樣的) 我先執(zhí)行函數(shù)a() 在click事件中傳入了數(shù)據(jù)111和函數(shù)data(),當(dāng)觸發(fā)click事件時(shí),調(diào)用函數(shù)data=====data(e)//因?yàn)榇藭r(shí)的e就是click事件 所以 函數(shù)data()中的e.data就等于1111查看全部 -
triggerHandler與trigger的用法是一樣的,重點(diǎn)看不同之處:
triggerHandler不會(huì)觸發(fā)瀏覽器的默認(rèn)行為,.triggerHandler( "submit" )將不會(huì)調(diào)用表單上的.submit()
.trigger() 會(huì)影響所有與 jQuery 對(duì)象相匹配的元素,而 .triggerHandler() 僅影響第一個(gè)匹配到的元素
使用 .triggerHandler() 觸發(fā)的事件,并不會(huì)在 DOM 樹中向上冒泡。 如果它們不是由目標(biāo)元素直接觸發(fā)的,那么它就不會(huì)進(jìn)行任何處理
與普通的方法返回 jQuery 對(duì)象(這樣就能夠使用鏈?zhǔn)接梅?相反,.triggerHandler() 返回最后一個(gè)處理的事件的返回值。如果沒有觸發(fā)任何事件,會(huì)返回 undefined
triggerHandler只阻止它本身觸發(fā)的事件冒泡
這里$("input").triggerHandler("focus","沒有觸發(fā)默認(rèn)聚焦事件");中的兩個(gè)參數(shù)是傳入input的focus事件中的,參數(shù)1也就是arg1已經(jīng)指定的了要觸發(fā)的事件就是focus,參數(shù)arg2也就是要傳入input的focus事件中的title的值所以會(huì)彈出"沒有觸發(fā)默認(rèn)聚焦事件”
查看全部 -
triggerHandler與trigger的用法一樣,重點(diǎn)看不同之處:
triggerHandler不會(huì)觸發(fā)瀏覽器的默認(rèn)行為,triggerHandler("submit")將不會(huì)調(diào)用表單上的.submit()
.trigger()會(huì)影響所有與jQuery對(duì)象相匹配的元素,而。triggerHandler()僅影響第一個(gè)匹配到的元素
使用.triggerHandler() 觸發(fā)的事件,并不會(huì)在DOM樹中向上冒泡。如果它們不是由目標(biāo)元素直接觸發(fā)的,那么它就不會(huì)進(jìn)行任何處理
與普通的方法返回jQuery 對(duì)象(這樣就能夠使用鏈?zhǔn)接梅ǎ┫喾矗?triggerHandler() 返回最后一個(gè)處理的事件的返回值。如果沒有觸發(fā)任何事件,會(huì)返回 undefined
查看全部 -
trigger事件還有一個(gè)特性:會(huì)在DOM樹上冒泡,所以如果要阻止冒泡就需要在事件處理程序中返回false或調(diào)用事件對(duì)象中的.stopPropagation() 方法可以使事件停止冒泡
查看全部 -
event.pageX和event.pageY: 獲取鼠標(biāo)當(dāng)前相對(duì)于頁面的坐標(biāo)
event.preventDefault()方法: 阻止默認(rèn)行為
event.stopPropagation()方法:阻止事件冒泡
event.which:獲取在鼠標(biāo)單擊時(shí),單擊的是鼠標(biāo)的哪個(gè)鍵
event.currentTarget:在事件冒泡過程中的當(dāng)前DOM元素
.this和event.target都是dom對(duì)象
查看全部 -
通過.on()綁定的事件處理程序
通過.off()方法移除該綁定
綁定2個(gè)事件
$("elem").on("mousedown mouseup",fn)
刪除一個(gè)事件
$("elem").off("mousedown")
刪除所有事件
$("elem").off("mousedown mouseup")
快捷方式刪除所有事件
$("elem").off()
查看全部 -
事件綁定在最上層div元素上,當(dāng)用戶觸發(fā)在a元素上,事件將往上冒泡,一直會(huì)冒泡在div元素上。如果提供了第二參數(shù),那么事件在往上冒泡的過程中遇到了選擇器匹配的元素,將會(huì)觸發(fā)事件回調(diào)函數(shù)。
查看全部 -
jQuery鼠標(biāo)事件之mousemove事件
查看全部 -
hover() 方法是同時(shí)綁定mouseenter和mouseleave事件
$(selector).hover(handlerIn, handlerOut)
handlerIn(eventObject): 當(dāng)鼠標(biāo)指針進(jìn)入元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)
handlerOut(eventObject): 當(dāng)鼠標(biāo)指針離開元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)
查看全部 -
mouseenter事件和mouseover的區(qū)別:冒泡的方式處理問題
查看全部 -
click事件觸發(fā)需要:click事件是由mousedown與mouseup 2個(gè)動(dòng)作構(gòu)成,所以點(diǎn)擊的動(dòng)作只有在松手以后才觸發(fā)
dbclick事件觸發(fā)需要:dbclick是由2個(gè)click疊加而來的,鼠標(biāo)指針在元素里面時(shí)點(diǎn)擊且釋放;再次點(diǎn)擊,點(diǎn)擊間隔時(shí)間,是系統(tǒng)而定,且再次釋放。
查看全部 -
click方法用于監(jiān)聽用戶單擊操作;
dbclick方法用于監(jiān)聽用戶雙擊操作;
方法一:$ele.click()
方法二:$ele.click(handler(eventObject))
方法三:$ele.click([eventData], handler(eventObject))
查看全部 -
方法 描述 $ele.click() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,用的比較少 $ele.click(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù),這樣可以針對(duì)事件的反饋?zhàn)龊芏嗖僮髁耍椒ㄖ械膖his是指向了綁定事件的元素 $ele.click(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 $ele.mousedown() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,可能一般用的比較少 $ele.mousedown(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.mousedown(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 $ele.mousemove() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,用的比較少 $ele.mousemove(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.mousemove(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 $ele.mouseover() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,用的比較少 $ele.mouseover(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.mouseover(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 mouseenter() 只會(huì)在綁定它的元素上被調(diào)用,而不會(huì)在后代節(jié)點(diǎn)上被觸發(fā),不會(huì)冒泡 mouseover() 不只是在綁定它的元素上被調(diào)用,而且還會(huì)向上冒泡在其祖輩元素節(jié)點(diǎn)上被調(diào)用 hover() $(selector).hover(handlerIn,?handlerOut),當(dāng)鼠標(biāo)指針進(jìn)入元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)handlerIn,當(dāng)鼠標(biāo)指針移出元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)handlerOut, $ele.focusin() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,一般用的比較少 $ele.focusin(?handler?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.focusin(?[eventData?],?handler?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 $ele.focusout() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,可能一般用的比較少 $ele.focusout(?handler?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.focusout(?[eventData?],?handler?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 blur() focus和blur是由內(nèi)像外進(jìn)行事件冒泡。focusin和focusout是由外像內(nèi)進(jìn)行捕獲,所以當(dāng)父元素添加了focusin和focusout時(shí)子元素也會(huì)觸發(fā)聚焦或者失焦事件 change() input元素:監(jiān)聽value值的變化,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件。對(duì)于單選按鈕和復(fù)選框,當(dāng)用戶用鼠標(biāo)做出選擇時(shí),該事件立即觸發(fā);select元素:對(duì)于下拉選擇框,當(dāng)用戶用鼠標(biāo)作出選擇時(shí),該事件立即觸發(fā);textarea元素:多行文本輸入框,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件 .select() select事件只能用于<input>元素與<textarea>元素,觸發(fā)元素的select事件: $ele.select(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.select(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 $ele.submit() 綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,用的比較少 $ele.submit(?handler(eventObject)?) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù) $ele.submit(?[eventData?],?handler(eventObject)?) 使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題 keydown() 當(dāng)用戶在一個(gè)元素上第一次按下鍵盤上字母鍵的時(shí)候,就會(huì)觸發(fā)它。使用上非常簡(jiǎn)單,與基本事件參數(shù)處理保持一致 keyup() 當(dāng)用戶在一個(gè)元素上第一次松手鍵盤上的鍵的時(shí)候,就會(huì)觸發(fā)它。使用方法與keydown是一致的只是觸發(fā)的條件是方法的 keypress() keydown事件觸發(fā)在文字還沒敲進(jìn)文本框,這時(shí)如果在keydown事件中輸出文本框中的文本,得到的是觸發(fā)鍵盤事件前的文本,而keyup事件觸發(fā)時(shí)整個(gè)鍵盤事件的操作已經(jīng)完成,獲得的是觸發(fā)鍵盤事件后的文本,keypress事件與keydown和keyup的主要區(qū)別:只能捕獲單個(gè)字符,不能捕獲組合鍵,無法響應(yīng)系統(tǒng)功能鍵(如delete,backspace),不區(qū)分小鍵盤和主鍵盤的數(shù)字字符.KeyPress主要用來接收字母、數(shù)字等ANSI字符,而?KeyDown?和?KeyUP?事件過程可以處理任何不被?KeyPress?識(shí)別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。 .on(?events?,[?selector?]?,[?data?]?) 多事件綁定 off() 移除事件 $('#elem').trigger('click'); 自定義事件,根據(jù)綁定到匹配元素的給定的事件類型執(zhí)行所有的處理程序和行為 triggerHandler() triggerHandler不會(huì)觸發(fā)瀏覽器的默認(rèn)行為,.triggerHandler(?"submit"?)將不會(huì)調(diào)用表單上的.submit(),.trigger()?會(huì)影響所有與?jQuery?對(duì)象相匹配的元素,而?.triggerHandler()?僅影響第一個(gè)匹配到的元素,使用?.triggerHandler()?觸發(fā)的事件,并不會(huì)在?DOM?樹中向上冒泡。?如果它們不是由目標(biāo)元素直接觸發(fā)的,那么它就不會(huì)進(jìn)行任何處理,與普通的方法返回?jQuery?對(duì)象(這樣就能夠使用鏈?zhǔn)接梅?相反,.triggerHandler()?返回最后一個(gè)處理的事件的返回值。如果沒有觸發(fā)任何事件,會(huì)返回?undefined 查看全部
舉報(bào)