-
在jQuery通過on方法綁定一個(gè)原生事件 $('#elem').on('click', function() { alert("觸發(fā)系統(tǒng)事件") }); 要和on一起用 alert需要執(zhí)行的條件:必須有用戶點(diǎn)擊才可以。如果不同用戶交互是否能在某一時(shí)刻自動觸發(fā)該事件呢? 正常來說是不可以的,但是jQuery解決了這個(gè)問題,提供了一個(gè)trigger方法來觸發(fā)瀏覽器事件 所以我們可以這樣: $('#elem').trigger('click'); 在綁定on的事件元素上,通過trigger方法就可以調(diào)用到alert了,挺簡單!查看全部
-
1. event.type: 獲取觸發(fā)元素的事件類型 2. event.pageX 和 event.pageY: 獲取鼠標(biāo)當(dāng)前相對于頁面的坐標(biāo) 3. event.preventDefault() 方法:阻止默認(rèn)行為 在執(zhí)行這個(gè)方法后,如果點(diǎn)擊一個(gè)鏈接(a標(biāo)簽),瀏覽器不會跳轉(zhuǎn)到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個(gè)方法是否(在那個(gè)事件對象上)被調(diào)用過了。 4. event.stopPropagation() 方法:阻止事件冒泡 事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)。 5. event.which:獲取在鼠標(biāo)單擊時(shí),單擊的是鼠標(biāo)的哪個(gè)鍵 event.which 將 event.keyCode 和 event.charCode 標(biāo)準(zhǔn)化了。 6. event.currentTarget:在事件冒泡過程中的當(dāng)前DOM元素 冒泡前的當(dāng)前觸發(fā)事件的DOM對象,等同于this 7. this 和 event.target 的區(qū)別: js中事件是會冒泡的,所以this是可以變化的,但 event.target 不會變化,它永遠(yuǎn)是直接接受事件的目標(biāo)DOM元素; 8. this 和 event.target 都是dom對象 如果要使用jquey中的方法可以將他們轉(zhuǎn)換為jquery對象。比如this和$(this)的使用、event.target和$(event.target)的使用;查看全部
-
event.target target 屬性可以是注冊事件時(shí)的元素,或者它的子元素。通常用于比較 event.target 和 this 來確定事件是不是由于冒泡而觸發(fā)的。經(jīng)常用于事件冒泡時(shí)處理事件委托 ul有N個(gè)子元素li(這里只寫了3個(gè)),如果我要響應(yīng)每一個(gè)li的事件,那么常規(guī)的方法就是需要給所有的li都單獨(dú)綁定一個(gè)事件監(jiān)聽,這樣寫法很符合邏輯,但是同時(shí)有顯得繁瑣 因?yàn)閘i都有一個(gè)共同的父元素,而且所有的事件都是一致的,這里我們可以采用要一個(gè)技巧來處理,也是常說的"事件委托" $("ul").on('click',function(e){ alert('觸發(fā)的元素是內(nèi)容是: ' + e.target.textContent) })//對于每一個(gè)不同的li都可以對應(yīng) 簡單來說:event.target代表當(dāng)前觸發(fā)事件的元素,可以通過當(dāng)前元素對象的一系列屬性來判斷是不是我們想要的元素查看全部
-
綁定2個(gè)事件 $("elem").on("mousedown mouseup",fn) 刪除一個(gè)事件 $("elem").off("mousedown") 刪除所有事件 $("elem").off("mousedown mouseup") 快捷方式刪除所有事件,這里不需要傳遞事件名了,節(jié)點(diǎn)上綁定的所有事件講全部銷毀 $("elem").off() $(this).text( '觸發(fā)類型:' + (e.type) + ",次數(shù)" + ++n) ++n; 有兩個(gè)++n 所以mosuedown執(zhí)行一次n每次加2查看全部
-
//給body綁定一個(gè)click事件 //沒有直接a元素綁定點(diǎn)擊事件 //通過委托機(jī)制,點(diǎn)擊a元素的時(shí)候,事件觸發(fā) 當(dāng)觸發(fā)a元素時(shí) 事件將往上冒泡 一直會冒泡在body上 $('body').on('click', 'a', function(e) { alert(e.target.textContent) })查看全部
-
$("#test3").on({ mousedown: function(e) { $(this).text('觸發(fā)事件:' + e.type) }, e.type指事件類型查看全部
-
keypress事件與keydown和keyup的主要區(qū)別 (press與down相似 但需要按回車敲進(jìn)去 只能捕獲單個(gè)字符,不能捕獲組合鍵 無法響應(yīng)系統(tǒng)功能鍵(如delete,backspace) 不區(qū)分小鍵盤和主鍵盤的數(shù)字字符 總而言之, KeyPress主要用來接收字母、數(shù)字等ANSI字符,而 KeyDown 和 KeyUP 事件過程可以處理任何不被 KeyPress 識別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。查看全部
-
在input元素上綁定keydown事件會發(fā)現(xiàn)一個(gè)問題: 每次獲取的內(nèi)容都是之前輸入的,當(dāng)前輸入的獲取不到 按下的一瞬間時(shí) 文字還沒有輸入到文本框所以第一次下邊獲取不到這個(gè)值。簡單點(diǎn)說文字輸入進(jìn)去文本框這個(gè)行為要慢于keydown事件 keydown的速度>文本框獲取值的速度>keyup的速度查看全部
-
$('#target1').submit(function(e) { alert('捕獲提交表達(dá)動作,不阻止頁面跳轉(zhuǎn)') }); //回車鍵或者點(diǎn)擊提交表單,禁止瀏覽器默認(rèn)跳轉(zhuǎn): $('#target2').submit(function() { alert('捕獲提交表達(dá)動作,阻止頁面跳轉(zhuǎn)') return false; });查看全部
-
//觸發(fā)元素的select事件 select()用法也是三種 $("input").select(function(e){ alert(e.target.value) }) $("#bt1").click(function(){ $("input").select(); }) 因?yàn)闉g覽器有默認(rèn)行為,當(dāng)你點(diǎn)擊按鈕時(shí)第一次是觸發(fā)了select事件,第二次就是默認(rèn)行為,默認(rèn)行為會選中input的文本,就又觸發(fā) 了input元素的select事件,在select的回調(diào)函數(shù)中添加e.preventDefault()就可以取消默認(rèn)行為了查看全部
-
當(dāng) textarea 或文本類型的 input 元素中的文本被選擇時(shí),會發(fā)生 select 事件。 這個(gè)函數(shù)會調(diào)用執(zhí)行綁定到select事件的所有函數(shù),包括瀏覽器的默認(rèn)行為。 可以通過在某個(gè)綁定的函數(shù)中返回false來防止觸發(fā)瀏覽器的默認(rèn)行為。 select事件只能用于<input>元素與<textarea>元素 使用方法類似于前面的click 三種方法查看全部
-
e.target指的是觸發(fā)事件的節(jié)點(diǎn),在這里指的是$('.target1') target 事件屬性可返回事件的目標(biāo)節(jié)點(diǎn)(觸發(fā)該事件的節(jié)點(diǎn)),如生成事件的元素、文檔或窗口 e是接收 觸發(fā)事件產(chǎn)生的事件對象,target屬性獲取觸發(fā)時(shí)間對象的目標(biāo) e.target指的是觸發(fā)事件的節(jié)點(diǎn),在這里指的是$('.target1')查看全部
-
input元素 監(jiān)聽value值的變化,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件。對于單選按鈕和復(fù)選框,當(dāng)用戶用鼠標(biāo)做出選擇時(shí),該事件立即觸發(fā)。 select元素 對于下拉選擇框,當(dāng)用戶用鼠標(biāo)作出選擇時(shí),該事件立即觸發(fā) textarea元素 多行文本輸入框,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件查看全部
-
舉個(gè)簡單的例子 <div> <input type="text" /> </div> 其中input元素可以觸發(fā)focus()事件 div是input的父元素,當(dāng)它包含的元素input觸發(fā)了focus事件時(shí),它就產(chǎn)生了focusin()事件。 focus()在元素本身產(chǎn)生,focusin()在元素包含的元素中產(chǎn)生 當(dāng)里面的觸發(fā)了focus之后這個(gè)父元素就產(chǎn)生了focusin blur與focusout也亦是如此查看全部
-
focus()在元素本身產(chǎn)生,focusin()在元素包含的元素中產(chǎn)生 blur與focusout也亦是如此 他們四個(gè)都是與表單聚焦有關(guān) focus 是事件元素獲取焦點(diǎn) 時(shí)觸發(fā),focusout是當(dāng)前事件元素及其子節(jié)點(diǎn)元素失去焦點(diǎn)時(shí)也會觸發(fā)。你可能想問的是blur和focusout 吧, focusout不僅是當(dāng)前元素失去焦點(diǎn)會觸發(fā),還包括其子節(jié)點(diǎn)元素失去焦點(diǎn)也會觸發(fā) focus blur 和 mouseenter mouseleave相似 你點(diǎn)擊的時(shí)候相當(dāng)于只點(diǎn)擊了文本框 文本框沒事件 不觸發(fā) focusin focusout 和 mouseover mouseout相似 你在文本框內(nèi)獲得焦點(diǎn)和失去焦點(diǎn)的同時(shí)相當(dāng)于從子到父都觸發(fā)了事件 冒泡事件最好的理解就是和水的冒泡是一樣的,就是從最底層向上去找尋參數(shù),在html中就是從最里層向最外層去尋找合適的標(biāo)簽之后就停止 $(".aaron").focus(function() { $(this).css('border', '2px solid red') }) 注意原文中這一句話:“div是input的父元素,當(dāng)它包含的元素input觸發(fā)了focus事件時(shí),它就產(chǎn)生了focusin()事件。” 所以說,如果代碼如下,則input上出現(xiàn)效果,且div上產(chǎn)生focusin( )事件 1 $(".aaron input").focus(function() { $(this).css('border', '2px solid red') }) 即選子代 觸發(fā)后也激起父代查看全部
舉報(bào)
0/150
提交
取消