-
委托機制:$('elem').on('click', 'selector', function(e)是委托機制 ? ?在點擊selector這個元素時 ?事件向上傳遞(冒泡) ?直到與第二個參數相等 ?事件被消費 ?并產生回調函數 ?就這個函數
運用場景:? 當然委托機制和直接綁定selector標簽效果也是一樣 內部實現不同 ?但是如果selector標簽的祖父級要拿到selector標簽的點擊事件或者selector標簽的內容就可以用這個函數
查看全部 -
keydown事件觸發在文字還沒敲進文本框,這時如果在keydown事件中輸出文本框中的文本,得到的是觸發鍵盤事件前的文本,而keyup事件觸發時整個鍵盤事件的操作已經完成,獲得的是觸發鍵盤事件后的文本
查看全部 -
表單中的blur和focus方法在元素本身,該元素設置了該方法,點擊該元素就會觸發該方法。
focusin和focusout方法支持冒泡方法,在元素包含的元素中產生,點擊某個元素,會往上查找父元素是否有這個方法,有就觸發。
查看全部 -
1:點擊指定點擊事件后直接彈出
2:點擊某個指定點擊事件,觸發里面自定義的點擊事件
3:點擊某個指定的點擊事件,里面放一個數據,和一個方法,方法接受那個數據
查看全部 -
$('textarea').select(function(e) {
? ? ? ? console.log( window.getSelection());
? ? });
獲取textarea選中時選中的文字
查看全部 -
$(
'.target1'
).change(
function
(e)?{????????
$(
"#result"
).html(e.target)????
});會出問題待解決
查看全部 -
鼠標按下觸發mousedown按鈕,離開元素不會觸發mouseup事件
鼠標左鍵按下,觸發鼠標左鍵mousedown事件,不放按下鼠標右鍵觸發鼠標右鍵的mousedown事件,左鍵松開觸發左鍵mouseover,以此類推
共有8種騷操作(左中右)
查看全部 -
事件冒泡的問題,p元素觸發了mouseover,他會一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就會被觸發
查看全部 -
冒泡事件及捕獲事件
1、冒泡現象其實可以理解為:遇到“問題”找“爸爸”。
?“問題”:就是一些特定的事件。?
“爸爸”:就是父級元素。?
舉例:focusin案例中第二個綠盒子里的input元素被我們點擊時,就觸發了focusin事件。
?但是input表示:我很方啊,我沒有這個事件的處理方法啊!咋整?找老爸,問他有沒有!
?綠盒子老爸說:莫方,我有,讓我來! 最終就調用了綠盒子老爸的方法。
?PS:如果綠盒子老爸自己也沒有呢?他會問他的老爸,以此類推,一直問到老祖宗window,都沒有的話就只好啥也不做啦!
2、mouseenter?(鼠標進入)和mousesleave(鼠標離開)是由內像外進行事件冒泡。
mouseover(鼠標進入)和mouseout(鼠標離開)是由外像內進行捕獲,
所以當父元素添加了mouseover(鼠標進入)和mouseout(鼠標離開)時子元素也會觸發聚焦或者失焦事件
總結
冒泡:mouseenter?(鼠標進入)、mousesleave(鼠標離開)
捕獲:mouseover(鼠標進入)、mouseout(鼠標離開)
查看全部 -
冒泡事件及捕獲事件
1、冒泡現象其實可以理解為:遇到“問題”找“爸爸”。
?“問題”:就是一些特定的事件。?
“爸爸”:就是父級元素。?
舉例:focusin案例中第二個綠盒子里的input元素被我們點擊時,就觸發了focusin事件。
?但是input表示:我很方啊,我沒有這個事件的處理方法??!咋整?找老爸,問他有沒有!
?綠盒子老爸說:莫方,我有,讓我來! 最終就調用了綠盒子老爸的方法。
?PS:如果綠盒子老爸自己也沒有呢?他會問他的老爸,以此類推,一直問到老祖宗window,都沒有的話就只好啥也不做啦!
2、focus(獲得焦點)和blur(失去焦點)是由內像外進行事件冒泡。focusin(獲得焦點)和focusout(失去焦點)是由外像內進行捕獲,所以當父元素添加了focusin和focusout時子元素也會觸發聚焦或者失焦事件
總結
冒泡:focus(獲得焦點)、blur(失去焦點)
捕獲:focusin(獲得焦點)、focusout(失去焦點)
查看全部 -
1, input添加的是focus事件,?#accident添加的是click事件
2,?trigger()會冒泡,??當左邊按鈕點擊后觸發$("a").trigger("click")---a點擊事件(自定義事件,我們沒有點擊a,只點擊了按鈕),a點擊后冒泡到擁有click事件的祖先元素, 于是#accident的click事件執行,alert出"trigger觸發的事件會在 DOM 樹中向上冒泡"這句話,彈框關閉后$("input").trigger("focus")會讓input的光標聚集--即focus事件.
3,triggerHandler()不會冒泡,且不會觸發瀏覽器的默認行為,所以右邊按鈕點擊后1, 不會alert出彈框;2, input不會focus;
查看全部 -
第一大段代碼$("button:first").click(function(event,bottonName)你只要點擊按鈕1就會觸發點擊事件.click(function(event,bottonName)由于一開始的bottonName這個參數是不存在的所以bottonName=bottonName|| 'first';這個語句的返回值是'first'? 然后再調用update這個函數 update($("span:first"),$("span:last"),‘first’);? 解釋完第一段代碼的含義我們來看第三段代碼 用得出的參數去替換第三段代碼函數的三個參數可得 $("span:first").text('first')??????? var n=parseInt($("span:last").text(), 10);?????? $("span:last").text(n+1);??????? 你看原文第31行的代碼 原文結構體中定義著<div><span></span><span>0</span>點擊次數</div>?? 所以點擊按鈕一執行一次這三個語句后?? <div><span>first</span><span>1</span>點擊次數</div>? 按照這個道理你可以去看第二段代碼的應用
查看全部 -
//點擊更新次數
? ? $("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);
? ? }
查看全部 -
event.type:獲取事件的類型
event.pageX 和 event.pageY:獲取鼠標當前相對于頁面的坐標
event.preventDefault() 方法:阻止默認行為(可以用 event.isDefaultPrevented() 來確定這個方法是否(在那個事件對象上)被調用過了)
event.stopPropagation() 方法:阻止事件冒泡
event.which:獲取在鼠標單擊時,單擊的是鼠標的哪個鍵
event.currentTarget : 在事件冒泡過程中的當前DOM元素
.this和event.target都是dom對象查看全部 -
var n? = 0;
? ? //綁定事件
? ? $(".aaron:last").on('mousedown mouseup', function(e) {
? ? ? ? $(this).text( '觸發類型:' +? (e.type) + ",次數" + ++n)
? ? ? ? ++n;
? ? })
? ? //刪除事件
? ? $("button:last").click(function() {
? ? ? ? $(".aaron:last").off()
? ? })
查看全部
舉報