-
keydown 是在按之前判斷(當(dāng)時text還沒有內(nèi)容),觸發(fā)一次空,當(dāng)下一次按鍵時,就觸發(fā)上一次輸入的內(nèi)容,所以就少一個。
查看全部 -
<input type="submit">
<input type="image">
<button type="submit">
當(dāng)某些表單元素獲取焦點時,敲擊Enter(回車鍵)
查看全部 -
focus與blur事件:不支持冒泡,focusin與focusout支持冒泡
查看全部 -
jQuery事件對象的屬性和方法
事件對象的屬于與方法有很多,但是我們經(jīng)常用的只有那么幾個,這里我主要說下作用與區(qū)別
event.type:獲取事件的類型
觸發(fā)元素的事件類型
$("a").click(function(event)?{???alert(event.type);?//?"click"事件?});
event.pageX 和 event.pageY:獲取鼠標當(dāng)前相對于頁面的坐標
通過這2個屬性,可以確定元素在當(dāng)前頁面的坐標值,鼠標相對于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡單來說是從頁面左上角開始,即是以頁面為參考點,不隨滑動條移動而變化
event.preventDefault() 方法:阻止默認行為
這個用的特別多,在執(zhí)行這個方法后,如果點擊一個鏈接(a標簽),瀏覽器不會跳轉(zhuǎn)到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個方法是否(在那個事件對象上)被調(diào)用過了
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)
event.which:獲取在鼠標單擊時,單擊的是鼠標的哪個鍵
event.which 將 event.keyCode 和 event.charCode 標準化了。event.which也將正?;陌粹o按下(mousedown 和 mouseupevents),左鍵報告1,中間鍵報告2,右鍵報告3
event.currentTarget : 在事件冒泡過程中的當(dāng)前DOM元素
冒泡前的當(dāng)前觸發(fā)事件的DOM對象, 等同于this.
this和event.target的區(qū)別:
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標DOM元素;
.this和event.target都是dom對象
如果要使用jquey中的方法可以將他們轉(zhuǎn)換為jquery對象。比如this和$(this)的使用、event.target和$(event.target)的使用;
?
?
?
查看全部 -
<!DOCTYPE html>
<html>
<head>
? ? <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
? ? <title></title>
? ? <style>
? ? .left div,
? ? .right div {
? ? ? ? width: 500px;
? ? ? ? height: 50px;
? ? ? ? padding: 5px;
? ? ? ? margin: 5px;
? ? ? ? float: left;
? ? ? ? border: 1px solid #ccc;
? ? }
? ??
? ? .left div {
? ? ? ? background: #bbffaa;
? ? }
? ??
? ? .right div {
? ? ? ? background: yellow;
? ? }
? ? </style>
? ? <script src="http://idcbgp.cn/static/lib/jquery/1.9.1/jquery.js"></script>
</head>
<body>
? ? <h2>自定義事件trigger</h2>
? ? <div class="left">
? ? ? ? <div><span></span><span>0</span>點擊次數(shù)</div>
? ? ? ? <button>直接點擊</button>
? ? ? ? <button>通過自定義點擊</button>
? ? </div>
? ? <script type="text/javascript">
? ? //點擊更新次數(shù)
? ? $("button:first").click(function(event,bottonName) {
? ? ? ? bottonName = bottonName || 'first';
? ? ? ? update($("span:first"),$("span:last"),bottonName);
? ? });
? ? //通過自定義事件調(diào)用,更新次數(shù)
? ? $("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>
</body>
</html>
查看全部 -
jQuery自定義事件之trigger事件
眾所周知類似于mousedown、click、keydown等等這類型的事件都是瀏覽器提供的,通俗叫原生事件,這類型的事件是需要有交互行為才能被觸發(fā)。
在jQuery通過on方法綁定一個原生事件
$('#elem').on('click',?function()?{?????alert("觸發(fā)系統(tǒng)事件")??});
alert需要執(zhí)行的條件:必須有用戶點擊才可以。如果不同用戶交互是否能在某一時刻自動觸發(fā)該事件呢? 正常來說是不可以的,但是jQuery解決了這個問題,提供了一個trigger方法來觸發(fā)瀏覽器事件
所以我們可以這樣:
$('#elem').trigger('click');
在綁定on的事件元素上,通過trigger方法就可以調(diào)用到alert了,挺簡單!
再來看看.trigger是什么?
簡單來講就是:根據(jù)綁定到匹配元素的給定的事件類型執(zhí)行所有的處理程序和行為
trigger除了能夠觸發(fā)瀏覽器事件,同時還支持自定義事件,并且自定義時間還支持傳遞參數(shù)
$('#elem').on('Aaron',?function(event,arg1,arg2)?{?????alert("自觸自定義時間")??});?$('#elem').trigger('Aaron',['參數(shù)1','參數(shù)2'])
trigger觸發(fā)瀏覽器事件與自定義事件區(qū)別?
自定義事件對象,是jQuery模擬原生實現(xiàn)的
自定義事件可以傳遞參數(shù)
?
?
查看全部 -
jQuery事件對象的屬性和方法
事件對象的屬于與方法有很多,但是我們經(jīng)常用的只有那么幾個,這里我主要說下作用與區(qū)別
event.type:獲取事件的類型
觸發(fā)元素的事件類型
$("a").click(function(event)?{???alert(event.type);?//?"click"事件?});
event.pageX 和 event.pageY:獲取鼠標當(dāng)前相對于頁面的坐標
通過這2個屬性,可以確定元素在當(dāng)前頁面的坐標值,鼠標相對于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡單來說是從頁面左上角開始,即是以頁面為參考點,不隨滑動條移動而變化
event.preventDefault() 方法:阻止默認行為
這個用的特別多,在執(zhí)行這個方法后,如果點擊一個鏈接(a標簽),瀏覽器不會跳轉(zhuǎn)到新的 URL 去了。我們可以用 event.isDefaultPrevented() 來確定這個方法是否(在那個事件對象上)被調(diào)用過了
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)
event.which:獲取在鼠標單擊時,單擊的是鼠標的哪個鍵
event.which 將 event.keyCode 和 event.charCode 標準化了。event.which也將正?;陌粹o按下(mousedown 和 mouseupevents),左鍵報告1,中間鍵報告2,右鍵報告3
event.currentTarget : 在事件冒泡過程中的當(dāng)前DOM元素
冒泡前的當(dāng)前觸發(fā)事件的DOM對象, 等同于this.
this和event.target的區(qū)別:
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標DOM元素;
.this和event.target都是dom對象
如果要使用jquey中的方法可以將他們轉(zhuǎn)換為jquery對象。比如this和$(this)的使用、event.target和$(event.target)的使用;
查看全部 -
focus與blur事件:不支持冒泡,focusin與focusout支持冒泡
查看全部 -
return false;起的禁止跳轉(zhuǎn)的作用,剛看的時候亂了一陣...
查看全部 -
focus( )和blur( )? ? ?不支持冒泡處理
focusin( )和focusout( )? ? ?支持冒泡處理
冒泡現(xiàn)象其實可以理解為:遇到“問題”找“爸爸”。
查看全部 -
mousedown 按下觸發(fā)? mouseup 抬起觸發(fā),抬起的時候離開了就不觸發(fā)
查看全部 -
給body中的a添加事件
理解為,給body捆綁的事件,當(dāng)a元素觸發(fā),事件向上冒泡,一直冒泡到body。但是提供了第二參數(shù)a,也就是說在冒泡過程中遇到了選擇器匹配的元素a,事件就會觸發(fā)
?$('body').on('click', 'a', function(e) {
? ? ? ?alert(e.target.textContent)
? ? })
查看全部 -
keydown在按下是就觸發(fā)
keyup在按鍵松開后觸發(fā)
所以,會出現(xiàn)顯示輸入值keydown總是在按下一個內(nèi)容后,在下一次按下后才會顯示
而keyup是在松開后才觸發(fā),所以顯示的值在本次松開后就可以顯示
查看全部 -
e.target是當(dāng)前事件執(zhí)行的第一個具體DOM對象,這個DOM對象不變
this是事件冒泡到DOM樹的哪個對象,this就指向哪個對象,改變的
查看全部 -
focus( )和blur( )? ? ?不支持冒泡處理
focusin( )和focusout( )? ? ?支持冒泡處理
查看全部
舉報