-
'e'='event'=觸發(fā)事件的元素 'this'=綁定事件的元素 經(jīng)過簡單的實(shí)驗(yàn),覺得e.target是實(shí)際的觸發(fā)事件的元素,而this是給哪個元素綁定了事件,結(jié)合這個例子 e.target是li,this是ul,個人見解 <script type="text/javascript"> //多事件綁定一 $("ul").on('click',function(e){ alert('觸發(fā)的元素是內(nèi)容是: ' + e.target.textContent) $(e.target).css('color','red') // $(this).css('color','red') }) </script> 這個委托的意思就是減少事件綁定, $("li").on('click' 為每個li都綁定click事件 $("ul").on('click' 只為ul綁定click事件 通過事件冒泡來執(zhí)行事件 網(wǎng)頁優(yōu)化的一種查看全部
-
卸載事件off()方法 通過.on()綁定的事件處理程序 通過off() 方法移除該綁定 根據(jù)on綁定事件的一些特性,off方法也可以通過相應(yīng)的傳遞組合的事件名,名字空間,選擇器或處理函數(shù)來移除綁定在元素上指定的事件處理函數(shù)。當(dāng)有多個過濾參數(shù)時,只有與這些參數(shù)完全匹配的事件處理函數(shù)才會被移除 綁定2個事件 刪除一個事件 刪除所有事件 快捷方式刪除所有事件,這里不需要傳遞事件名了,節(jié)點(diǎn)上綁定的所有事件講全部銷毀查看全部
-
mouseenter事件和mouseover的區(qū)別 關(guān)鍵點(diǎn)就是:冒泡的方式處理問題查看全部
-
on()的高級用法 委托機(jī)制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on的第二參數(shù)中提供了一個selector選擇器,簡單的來描述下 參考下面3層結(jié)構(gòu) <div class="left"> <p class="aaron"> <a>目標(biāo)節(jié)點(diǎn)</a> //點(diǎn)擊在這個元素上 </p> </div> 給出如下代碼: $("div").on("click","p",fn) 事件綁定在最上層div元素上,當(dāng)用戶觸發(fā)在a元素上,事件將往上冒泡,一直會冒泡在div元素上。如果提供了第二參數(shù),那么事件在往上冒泡的過程中遇到了選擇器匹配的元素,將會觸發(fā)事件回調(diào)函數(shù)查看全部
-
on()的多事件綁定 jQuery on()方法是官方推薦的綁定事件的一個方法。 基本用法:.on( events ,[ selector ] ,[ data ] ) $("#elem").click(function(){}) //快捷方式 $("#elem").on('click',function(){}) //on方式 最大的不同點(diǎn)就是on是可以自定義事件名,當(dāng)然不僅僅只是如何,繼續(xù)往下看 多個事件綁定同一個函數(shù) $("#elem").on("mouseover mouseout",function(){ }); 通過空格分離,傳遞不同的事件名,可以同時綁定多個事件 多個事件綁定不同函數(shù) $("#elem").on({ mouseover:function(){}, mouseout:function(){}, }); 通過空格分離,傳遞不同的事件名,可以同時綁定多個事件,每一個事件執(zhí)行自己的回調(diào)方法 將數(shù)據(jù)傳遞到處理程序 function greet( event ) { alert( "Hello " + event.data.name ); //Hello 慕課網(wǎng) } $( "button" ).on( "click", { name: "慕課網(wǎng)" }, greet ); 可以通過第二參數(shù)(對象),當(dāng)一個事件被觸發(fā)時,要傳遞給事件處理函數(shù)的查看全部
-
keypress和keydown有什么區(qū)別?????? 雖然從字面理解, KeyDown是按下一個鍵的意思, 但實(shí)際上二者的根本區(qū)別是, 系統(tǒng)由KeyDown返回鍵盤的代碼, 然后由TranslateMessage函數(shù)翻譯成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是鍵盤的代碼, 而KeyPress返回的是ASCII字符. 所以根據(jù)你的目的, 如果只想讀取字符, 用KeyPress, 如果想讀各鍵的狀態(tài), 用KeyDown. 說KeyDown是按下, KeyPress是按下并松開, 是不對的. 如果你一直按著鍵呢? 這時不斷地產(chǎn)生KeyDown和KeyPress.查看全部
-
鼠標(biāo)有mousedown,mouseup之類的事件,這是根據(jù)人的手勢動作分解的2個觸發(fā)行為。相對應(yīng)的鍵盤也有這類事件,將用戶行為分解成2個動作,鍵盤按下與松手,針對這樣的2種動作,jQuery分別提供了對應(yīng)keydown與keyup方法來監(jiān)聽 keydown事件: 當(dāng)用戶在一個元素上第一次按下鍵盤上字母鍵的時候,就會觸發(fā)它。使用上非常簡單,與基本事件參數(shù)處理保持一致,這里使用不在重復(fù)了,列出使用的方法查看全部
-
jQuery表單事件之submit事件 提交表單是一個最常見的業(yè)務(wù)需求,比如用戶注冊,一些信息的輸入都是需要表單的提交。同樣的有時候開發(fā)者需要在表單提交的時候過濾一些的數(shù)據(jù)、做一些必要的操作(例如:驗(yàn)證表單輸入的正確性,如果錯誤就阻止提交,從新輸入)此時可以通過submit事件,監(jiān)聽下提交表單的這個動作 使用上非常簡單,與基本事件參數(shù)處理保持一致 方法一:$ele.submit() 方法二:$ele.submit( handler(eventObject) ) 方法三:$ele.submit( [eventData ], handler(eventObject) ) 具體能觸發(fā)submit事件的行為: <input type="submit"> <input type="image"> <button type="submit"> 當(dāng)某些表單元素獲取焦點(diǎn)時,敲擊Enter(回車鍵) 這里需要特別注意: form元素是有默認(rèn)提交表單的行為,如果通過submit處理的話,需要禁止瀏覽器的這個默認(rèn)行為 傳統(tǒng)的方式是調(diào)用事件對象 e.preventDefault() 來處理, jQuery中可以直接在函數(shù)中最后結(jié)尾return false即可 jQuery處理如下: $("#target").submit(function(data) { return false; //阻止默認(rèn)行為,提交表單 });查看全部
-
當(dāng) textarea 或文本類型的 input 元素中的文本被選擇時,會發(fā)生 select 事件。 這個函數(shù)會調(diào)用執(zhí)行綁定到select事件的所有函數(shù),包括瀏覽器的默認(rèn)行為??梢酝ㄟ^在某個綁定的函數(shù)中返回false來防止觸發(fā)瀏覽器的默認(rèn)行為。 使用上非常簡單: 方法一:.select() 觸發(fā)元素的select事件: 方法二:$ele.select( handler(eventObject) ) 綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會執(zhí)行回調(diào) handler函數(shù) 這樣可以針對事件的反饋?zhàn)龊芏嗖僮髁? 方法三:$ele.select( [eventData ], handler(eventObject) ) 使用與方法二一致,不過可以接受一個數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題查看全部
-
本節(jié)重點(diǎn)查看全部
-
本節(jié)重點(diǎn)??! 本課最難點(diǎn)冒泡!!查看全部
-
jQuery表單事件之change事件 開發(fā)者可以通過change事件去監(jiān)聽<input>元素,<textarea>和<select>元素的值的改變 input元素 監(jiān)聽value值的變化,當(dāng)有改變時,失去焦點(diǎn)后觸發(fā)change事件。對于單選按鈕和復(fù)選框,當(dāng)用戶用鼠標(biāo)做出選擇時,該事件立即觸發(fā)。 select元素 對于下拉選擇框,當(dāng)用戶用鼠標(biāo)作出選擇時,該事件立即觸發(fā) textarea元素 多行文本輸入框,當(dāng)有改變時,失去焦點(diǎn)后觸發(fā)change事件 輸出結(jié)果: <div id="result"></div> <script type="text/javascript"> //監(jiān)聽input值的改變 $('.target1').change(function(e) { $("#result").html(e.target.value) }); //監(jiān)聽select: $(".target2").change(function(e) { $("#result").html(e.target.value) }) //監(jiān)聽textarea: $(".target3").change(function(e) { $("#result").html(e.target.value) }) </script>查看全部
-
在之前2.8與2.9節(jié)我們學(xué)過了表單處理事件focusin事件與focusout事件,同樣用于處理表單焦點(diǎn)的事件還有blur與focus事件 它們之間的本質(zhì)區(qū)別: 舉個簡單的例子 其中input元素可以觸發(fā)focus()事件 div是input的父元素,當(dāng)它包含的元素input觸發(fā)了focus事件時,它就產(chǎn)生了focusin()事件。 blur與focusout也亦是如此查看全部
-
jQuery鼠標(biāo)事件之focusout事件 失去焦點(diǎn) $("input:first").focusout(function() { $(this).css('border','2px solid red') })查看全部
-
jQuery鼠標(biāo)事件之focusin事件 獲取焦點(diǎn)查看全部
舉報(bào)
0/150
提交
取消