<div><p></p></div>
如果在p上用mouseover,div會(huì)觸發(fā)冒泡事件
如果在p上用mouseenter,div不會(huì)觸發(fā)冒泡事件
如果在p上用mouseover,div會(huì)觸發(fā)冒泡事件
如果在p上用mouseenter,div不會(huì)觸發(fā)冒泡事件
2017-09-03
function(e){}
e是jq事件的事件對(duì)象,里面保存了事件的屬性和方法
e.target表示這個(gè)觸發(fā)這個(gè)事件的元素
e.data 表示第一個(gè)參數(shù)存儲(chǔ)的值
e是jq事件的事件對(duì)象,里面保存了事件的屬性和方法
e.target表示這個(gè)觸發(fā)這個(gè)事件的元素
e.data 表示第一個(gè)參數(shù)存儲(chǔ)的值
2017-09-03
對(duì)于第一個(gè)按鈕的點(diǎn)擊事件:bottonName=undefined,所以bottonName||'first'=='first';
對(duì)于第二個(gè)按鈕的點(diǎn)擊事件:bottonName = 'last',所以bottonName||'first'=='last';
對(duì)于第二個(gè)按鈕的點(diǎn)擊事件:bottonName = 'last',所以bottonName||'first'=='last';
2017-09-01
1、只要“||”前面為false,不管“||”后面是true還是false,都返回“||”后面的值。
2、只要“||”前面為true,不管“||”后面是true還是false,都返回“||”前面的值。
2、只要“||”前面為true,不管“||”后面是true還是false,都返回“||”前面的值。
2017-09-01
想知道里面的東西都指向誰,試試就知道了:
$("ul").on('click',function(e){
console.log(this);
console.log(e.target);
console.log('觸發(fā)的元素是內(nèi)容是: ' + e.target.textContent);
//事件是會(huì)冒泡的,在li點(diǎn)擊時(shí),產(chǎn)生event事件,event.target指向li,通過冒泡冒到外部的ul,然后ul綁定的事件捕獲到li的冒泡,觸發(fā)事件處理程序
})
$("ul").on('click',function(e){
console.log(this);
console.log(e.target);
console.log('觸發(fā)的元素是內(nèi)容是: ' + e.target.textContent);
//事件是會(huì)冒泡的,在li點(diǎn)擊時(shí),產(chǎn)生event事件,event.target指向li,通過冒泡冒到外部的ul,然后ul綁定的事件捕獲到li的冒泡,觸發(fā)事件處理程序
})
2017-09-01
e.target展示的是當(dāng)前點(diǎn)擊的對(duì)象不會(huì)被冒泡,而this是點(diǎn)擊li時(shí)會(huì)被冒泡到當(dāng)前綁定的對(duì)象上ul
可以用console.log(e.target);
console.log(this); 分別點(diǎn)擊li 和 ul 試試
可以用console.log(e.target);
console.log(this); 分別點(diǎn)擊li 和 ul 試試
2017-09-01
這里可以用來進(jìn)行表單檢測(cè),判斷內(nèi)容是否符合要求。
比如:
$('#target2').submit(function() {
var text = $('#target2 input:first').val();
if(text == "" || text == "輸入新的值")
{
$(":text:last").css("border","2px solid red");
alert("請(qǐng)重新輸入");
return false;
}
});
比如:
$('#target2').submit(function() {
var text = $('#target2 input:first').val();
if(text == "" || text == "輸入新的值")
{
$(":text:last").css("border","2px solid red");
alert("請(qǐng)重新輸入");
return false;
}
});
2017-08-31
這里的例子有點(diǎn)繞,總的來說就是從效果上來說,都是在獲取或失去焦點(diǎn)時(shí)產(chǎn)生事件,并可以綁定處理函數(shù)。
區(qū)別就在于focus和blur只能在input之類的表格元素本身上起效,當(dāng)在他的父級(jí)元素上綁focus和blur事件時(shí),因?yàn)樗鼈z不冒泡,所以在外部的綁定其實(shí)是沒有效果的。
而focusin和focusout可以冒泡,所以就算是在父級(jí)綁定的這兩個(gè)事件,只要是內(nèi)部元素觸發(fā)了獲得和失去焦點(diǎn)的事件,一樣可以冒泡出來,讓父級(jí)元素綁定的事件捕獲到,從而執(zhí)行命令。
區(qū)別就在于focus和blur只能在input之類的表格元素本身上起效,當(dāng)在他的父級(jí)元素上綁focus和blur事件時(shí),因?yàn)樗鼈z不冒泡,所以在外部的綁定其實(shí)是沒有效果的。
而focusin和focusout可以冒泡,所以就算是在父級(jí)綁定的這兩個(gè)事件,只要是內(nèi)部元素觸發(fā)了獲得和失去焦點(diǎn)的事件,一樣可以冒泡出來,讓父級(jí)元素綁定的事件捕獲到,從而執(zhí)行命令。
2017-08-31
針對(duì)測(cè)試三的一點(diǎn)理解:
ele.click(argument1,function(e){
alert(e.dada);
})
這里傳給click里的第一個(gè)參數(shù)其實(shí)就是jqurey做好的一種功能,如果你填了這個(gè)argument1參數(shù),就會(huì)把這個(gè)參數(shù)傳遞賦值給當(dāng)前對(duì)象的event.data屬性,如果在之后的函數(shù)里調(diào)用event.data,就可以訪問并使用這個(gè)屬性。
很多jquery里的事件都可以這樣傳遞參數(shù),只要知道這是一種傳參的寫法就行了。
如果有理解不當(dāng)?shù)牡胤?,?qǐng)指正!
ele.click(argument1,function(e){
alert(e.dada);
})
這里傳給click里的第一個(gè)參數(shù)其實(shí)就是jqurey做好的一種功能,如果你填了這個(gè)argument1參數(shù),就會(huì)把這個(gè)參數(shù)傳遞賦值給當(dāng)前對(duì)象的event.data屬性,如果在之后的函數(shù)里調(diào)用event.data,就可以訪問并使用這個(gè)屬性。
很多jquery里的事件都可以這樣傳遞參數(shù),只要知道這是一種傳參的寫法就行了。
如果有理解不當(dāng)?shù)牡胤?,?qǐng)指正!
2017-08-31
http://libs.baidu.com/jquery/1.9.1/jquery.js
2017-08-31
$("button:first").click(function() {
$("a").trigger("click","heeloasdgsadg");
$("input").trigger("focus","trigger");
//這里trigger傳入的值并沒有在focus中生效(因?yàn)閕nput綁定的是jQuery的方法)但在click中生效了
//若要觸發(fā)通過 jQuery 綁定的事件處理函數(shù),而不觸發(fā)原生的事件,使用.triggerHandler() 來代替
});
$("a").trigger("click","heeloasdgsadg");
$("input").trigger("focus","trigger");
//這里trigger傳入的值并沒有在focus中生效(因?yàn)閕nput綁定的是jQuery的方法)但在click中生效了
//若要觸發(fā)通過 jQuery 綁定的事件處理函數(shù),而不觸發(fā)原生的事件,使用.triggerHandler() 來代替
});
2017-08-29
我覺得這里應(yīng)該寫上,直接看jQueryAPI文檔:http://www.css88.com/jqapi-1.9/
2017-08-27
很奇怪,我看官方文檔是focus和blur只在IE中不支持冒泡,所以,jQ才實(shí)現(xiàn)了focusin和focusout用以統(tǒng)一跨瀏覽器表現(xiàn),但是在測(cè)試的時(shí)候,focus在什么瀏覽器都不支持冒泡
2017-08-27