其實(shí)71行不用再次定義n的,本就是一個(gè)全局變量,共享,不過js語言沒有嚴(yán)格編譯前檢查能力,所以就算重復(fù)定義了也沒出錯,弱變量語言就是有這個(gè)弊端,靈活但是也易錯
2016-08-31
我感覺這種東西老師這樣分開弄很好,很系統(tǒng)化,記不住的那么多的人可以寫筆記,或大概了解下到時(shí)候去查。別以為自己有多厲害。
2016-08-31
/*
鼠標(biāo)的左鍵單機(jī)which(1) / 滑輪按下which(2) / 右鍵按下which(3) 都是會觸發(fā)點(diǎn)擊事件 --->
*/
鼠標(biāo)的左鍵單機(jī)which(1) / 滑輪按下which(2) / 右鍵按下which(3) 都是會觸發(fā)點(diǎn)擊事件 --->
*/
2016-08-31
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠(yuǎn)是直接接受事件的目標(biāo)DOM元素;
2016-08-30
keypress和keydown有什么區(qū)別??????
雖然從字面理解, KeyDown是按下一個(gè)鍵的意思, 但實(shí)際上二者的根本區(qū)別是, 系統(tǒng)由KeyDown返回鍵盤的代碼, 然后由TranslateMessage函數(shù)翻譯成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是鍵盤的代碼, 而KeyPress返回的是ASCII字符. 所以根據(jù)你的目的, 如果只想讀取字符, 用KeyPress, 如果想讀各鍵的狀態(tài), 用KeyDown.
說KeyDown是按下, KeyPress是按下并松開, 是不對的. 如果你一直按著鍵呢? 這時(shí)不斷地產(chǎn)生KeyDown和KeyPress.
雖然從字面理解, KeyDown是按下一個(gè)鍵的意思, 但實(shí)際上二者的根本區(qū)別是, 系統(tǒng)由KeyDown返回鍵盤的代碼, 然后由TranslateMessage函數(shù)翻譯成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是鍵盤的代碼, 而KeyPress返回的是ASCII字符. 所以根據(jù)你的目的, 如果只想讀取字符, 用KeyPress, 如果想讀各鍵的狀態(tài), 用KeyDown.
說KeyDown是按下, KeyPress是按下并松開, 是不對的. 如果你一直按著鍵呢? 這時(shí)不斷地產(chǎn)生KeyDown和KeyPress.
2016-08-30
這里設(shè)計(jì)有點(diǎn)瑕疵,一個(gè)邊框改變,一個(gè)接受字符,改成一樣不是更直觀嗎?
這里只是input自身發(fā)生鼠標(biāo)事件而有沒有執(zhí)行操作的區(qū)別,也沒有說明傳入父元素后的影響,不能很好的體現(xiàn)出冒泡的區(qū)別
這里只是input自身發(fā)生鼠標(biāo)事件而有沒有執(zhí)行操作的區(qū)別,也沒有說明傳入父元素后的影響,不能很好的體現(xiàn)出冒泡的區(qū)別
2016-08-30
這節(jié)課講解的似乎大家都有些迷糊,這個(gè)trigger應(yīng)該理解為模仿的意思(原意是綁定)
$("button:last").click(function() {
$("button:first").trigger('click','last');
【在button:last被點(diǎn)擊的時(shí)候相當(dāng)于button:fist被點(diǎn)擊,只是參數(shù)要換成trigger的參數(shù),也就是說$("button:last").click模仿了 $("button:first").click被點(diǎn)擊時(shí)發(fā)生的情景操作。這樣就好理解了】
$("button:last").click(function() {
$("button:first").trigger('click','last');
【在button:last被點(diǎn)擊的時(shí)候相當(dāng)于button:fist被點(diǎn)擊,只是參數(shù)要換成trigger的參數(shù),也就是說$("button:last").click模仿了 $("button:first").click被點(diǎn)擊時(shí)發(fā)生的情景操作。這樣就好理解了】
2016-08-29
bottonName = bottonName || 'first'這個(gè)雙目運(yùn)算符很重要,為什么在 $("button:first").trigger('click','last');調(diào)用 $("button:first").click過去后遇到bottonName = bottonName || 'first'時(shí)只傳遞last不傳遞first呢?就是因?yàn)殡p目運(yùn)算符||在遇到第一個(gè)為真的時(shí)候就停止了,這個(gè)代表“或”的意思,即一個(gè)為真就為真。
var n = parseInt(last.text(), 10);這個(gè)是類型轉(zhuǎn)換,把n轉(zhuǎn)換成int整型數(shù),就是整數(shù)的意思,10可以省略
var n = parseInt(last.text(), 10);這個(gè)是類型轉(zhuǎn)換,把n轉(zhuǎn)換成int整型數(shù),就是整數(shù)的意思,10可以省略
2016-08-29
代碼中的e.target返回的是綁定這個(gè)事件的DOM對象, 是DOM對象不是Jquery對象, 所以e.target后面跟的屬性是js中的屬性和方法, jquery中的屬性和方法用不了,要用jquery的屬性方法,要轉(zhuǎn)化為Jquery對象$(e.target).val(). 老師說的時(shí)候有點(diǎn)問題, 當(dāng)用于 select 元素時(shí),change 事件會在選擇某個(gè)選項(xiàng)時(shí)發(fā)生。當(dāng)用于 text field 或 text area 時(shí),該事件會在元素失去焦點(diǎn)時(shí)發(fā)生。
2016-08-29
解釋下$("input:last").focusin('慕課網(wǎng)', fn)到底什么意思, 給$("input:last")元素添加光標(biāo)聚焦事件,然后調(diào)用fn()函數(shù), 執(zhí)行fn()函數(shù)體, $(this).val(e.data)中的$(this)就是$("input:last"),把這個(gè)input的value值改為e.data,這里的e就是focusin事件對象,e.data就是慕課網(wǎng), 前面代碼中的"慕課網(wǎng)",就是在給e.data賦值, 這里的e.data是取值.
2016-08-29
hover()這個(gè)方法里頭封裝的是mouseenter(), mouseleave()兩個(gè)方法, 可以阻止冒泡問題. 這個(gè)方法可以用來改變樣式, 比如鼠標(biāo)移入div變色, 移出回到以前的顏色. 相當(dāng)于css中的div:hover, 但是:hover很多的瀏覽器對a:hover支持還不錯, 對div:hover, ul:hover支持有點(diǎn)差, 特別是ie6,ie7這些較低的版本. 用jquery可以解決兼容性,代碼量比js要少很多, 可以專注在邏輯業(yè)務(wù)上.
2016-08-29
在Jquery中,用this是指向的是DOM中的對象, this.html()是沒有用的, html()是jquery中的方法, 必須用$(this).html(),這樣才可以,$(this)指向的是jquery對象.
2016-08-29