-
測試二是先選中p標簽,然后設置一個點擊事件,調用函數,該函數的功能是彈出一個窗口顯示文本節點的內容,再然后選中第二個button按鈕,也設置夜歌點擊事件,點擊該按鈕會調用上面的函數。測試三是先設置一個函數data(),該函數的功能是彈出一個窗口顯示e的值,然后在設置一個函數a(),該函數先選中第三個button,然后綁定一個點擊事件,點擊之后將1111傳遞給data函數的e,然后a()表示調用該函數
查看全部 -
Dom?3?5-2 只有body內的跟選擇器匹配的元素,才會觸發事件回調函數,不匹配的只是往上繼續冒泡.
查看全部 -
<script type="text/javascript">
? ? //點擊更新次數
? ? $("button:first").click(function(event,bottonName) {
? ? ? ? bottonName = bottonName || 'first';
? ? ? ? update($("span:first"),$("span:last"),bottonName);
? ? });
? ? //通過自定義事件調用,更新次數
? ? $("button:last").click(function() {
? ? ? ? $("button:first").trigger('click','last');
? ? });
? ? function update(first,last,bottonName) {
? ? ? ? first.text(bottonName);
? ? ? ? var n = parseInt(last.text(), 10);
? ? ? ? last.text(n + 1);
? ? }
? ? </script>
查看全部 -
e.target.textContent
查看全部 -
trigger事件不能實現envent,但是可以使用triggerHandler方法來實現event。
查看全部 -
trigger自動執行是會有冒泡發生的,點擊button:first時候trigger自動執行a的綁定事件click(就是點擊<a>),trigger是會冒泡的!所以點擊了<a>標簽就點擊了它所在的<div>,<div>有alert的事件就會發生,聚焦事件就不說了;
再說一下,triggerHandle,他不會發生冒泡,所以當點擊button:last時候呢,就不會出現alert啦,就僅僅是點擊了<a>標簽和聚焦操作。
查看全部 -
trigger事件:
觸發事件函數,比如你點擊了按鈕B,B上綁著trigger按鈕A的函數,那么按鈕A的函數被觸發
查看全部 -
triggerHandler與trigger的用法是一樣的,重點看不同之處:
triggerHandler不會觸發瀏覽器的默認行為,.triggerHandler( "submit" )將不會調用表單上的.submit()
.trigger() 會影響所有與 jQuery 對象相匹配的元素,而 .triggerHandler() 僅影響第一個匹配到的元素
使用 .triggerHandler() 觸發的事件,并不會在 DOM 樹中向上冒泡。 如果它們不是由目標元素直接觸發的,那么它就不會進行任何處理
與普通的方法返回 jQuery 對象(這樣就能夠使用鏈式用法)相反,.triggerHandler() 返回最后一個處理的事件的返回值。如果沒有觸發任何事件,會返回 undefined
?
查看全部 -
parseInt() 函數可解析一個字符串,并返回一個整數。”他的作用就是解析出字符串中第一個出現的數字,第一個參數就是要求解析的字符串,第二個參數是對第一個參數的補充,是數字幾就代表第一個參數中的數字是什么進制。例如:parseInt("11",2); //返回 3 (2+1) ?就是說 ?把“11”當做二進制看然后解析為十進制數字“3”.
查看全部 -
parseInt(數字, 進制位);
bottonName = bottonName || 'first';
這句話怎么理解?
? ? function update(first,last,bottonName) {
? ? ? ? first.text(bottonName);
? ? ? ? var n = parseInt(last.text(), 10);
? ? ? ? last.text(n + 1);
? ? }
這個update函數能不能解釋一下
如果存在bottonName,則bootonName=bottonName,否則,bottonName=first
update既不是jquery函數也不是原生函數,是自定義函數,你可以自己隨意改動他的參數跟功能,只要調用的時候保持名稱一致就可以
function
?update(first,last,bottonName)?{
?????????
first.text(bottonName);????????
//?將傳遞過來的first參數文本改為bottonName
?????????
var
?n?=?parseInt(last.text(),?10);????????
//獲取當前last.text的文本內容,10進制取值,建立變量n,賦值為所取得的值。
?????????
last.text(n?+?1);????}?
//?將傳遞進來的last參數文本內容修改為n+1,實現點擊數按照實際點擊數增加。
查看全部 -
第一個click沒有阻止冒泡,那為什么它只冒泡到外層div,沒有冒泡到body
因為他冒泡到div層?就被div?層點擊事件 event.stopPropagation()?阻止冒泡
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發的任何前輩元素上的事件處理函數
就是說不會觸發到div的父級以上,如果是在span綁定的click后面加的話div都不會顯示被點擊
查看全部 -
this指觸發事件的元素,無論你鼠標點擊在什么位置,觸發事件的元素都是ul,所以this指ul,但是e.target指鼠標的焦點元素,如果你點擊到了ul內部的li,則e.target指的就是li,但是如果你點擊的是ul其他的非li部分,則this和e.target是一樣的。
如果不是通過冒泡產生的事件,則this和e.target沒有區別。
this是可以變化
但event.target不會變化,它永遠是直接接受事件的目標DOM元素。
查看全部 -
$( "button" ).on( "click", { ?name: "慕課網" }, greet );這句話怎么理解?
當在"button" 上 點擊的時候, 將name為 慕課網 的參數傳遞給 greet 函數。
function greet( event ) {
?alert( "Hello " + event.data.name ); //Hello 慕課網
}然后, 在greet函數中, 通過事件,觸發該函數,?
實際上, event.data 就是??" name: "慕課網" "
然后, 在這里面有個name的自定義屬性為 "慕課網"
老師的解釋是: 可以通過第二參數(對象),當一個事件被觸發時,要傳遞給事件處理函數的
查看全部 -
在input元素上綁定keydown事件會發現一個問題:
每次獲取的內容都是之前輸入的,當前輸入的獲取不到
keydown事件觸發在文字還沒敲進文本框,這時如果在keydown事件中輸出文本框中的文本,得到的是觸發鍵盤事件前的文本,而keyup事件觸發時整個鍵盤事件的操作已經完成,獲得的是觸發鍵盤事件后的文本
keypress事件與keydown和keyup的主要區別
只能捕獲單個字符,不能捕獲組合鍵
無法響應系統功能鍵(如delete,backspace)
不區分小鍵盤和主鍵盤的數字字符
KeyPress主要用來接收字母、數字等ANSI字符,而 KeyDown 和 KeyUP 事件過程可以處理任何不被 KeyPress 識別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。
查看全部 -
down事件返回時的value
用console和e.target.value.length測試后應該是?
value值是在keydown事件之后和在keyup事件之前才傳遞過去的 所以在第一個框里輸入第一次字符是不顯示的而在第二個框里是顯示的
查看全部
舉報