真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jquery阻止默認事件,jquery禁止點擊事件

jQuery事件冒泡及解決辦法

什么是事件冒泡:在一個對象上觸發(fā)某類事件(比如onclick事件),如果次對象定義了此事件的處理程序,那么此事件就會調(diào)用這個處理程序,如果沒有定義此事件處理程序或者事件返回true,那么這個事件會向這個對象的父級對象傳播,從里到外,直至它被處理(父級對象所有同類事件都將被激活),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。

成都創(chuàng)新互聯(lián)公司是專業(yè)的達坂城網(wǎng)站建設(shè)公司,達坂城接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行達坂城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

事件冒泡的作用:事件冒泡允許多個操作被集中處理(把事件處理器添加到一個父級元素上,避免把事件處理器添加到多個子級元素上),它還可以讓你在對象層的不同級別捕獲事件。

阻止事件冒泡:事件冒泡機制有時候是不需要的,需要阻止掉,通過 event.stopPropagation() 來阻止

$(function(){

})

代合并阻止操作:實際開發(fā)中,一般把阻止冒泡和阻止默認行為合并起來寫,合并寫法可以用.

// event.stopPropagation();

// event.preventDefault();

// 合并寫法:

return false;

事件委托就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù),提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。

一般綁定事件的寫法:bind

事件委托的寫法:

如果我們要取消事件的委托:

//ev.delegateTarge 委托的對象

$(ev.delegateTarge).undelegatee();

//如果是上面的兩種例子可使用//$list.undelegate();

創(chuàng)建節(jié)點: ('div')

var ('div這是一個div元素/div');

插入節(jié)點:

1、append()和appendTo():在現(xiàn)存元素的內(nèi)部,從后面插入元素

2、prepend()和prependTo():在現(xiàn)存元素的內(nèi)部,從前面插入元素

3、after()和insertAfter():在現(xiàn)存元素的外部,從后面插入元素

4、before()和insertBefore():在現(xiàn)存元素的外部,從前面插入元素

刪除節(jié)點

$('#div1').remove();

js 在阻止默認事件的同時不影響滾動條

js阻止默認事件的方式有兩種:

使用e.preventDefault()方法,例子如下 ?

/**

* 1.阻止元素的默認事件,但是不會阻止事件冒泡

*/

var link = document.getElementsByTagName('a')[0];

link.addEventListener('click',function(e){

? ????e.preventDefault();

});

2.如果是在jquery中,可以使用return false,例子如下:

/**

* 2.阻止元素的事件冒泡

* Jquery和原生的Js在這點上有些不同,

* 原生的Js要通過e.stopPropagation()方法阻止事件冒泡

* 而Jquery則可以直接return false;來阻止事件冒泡

* e.stopPropagation()方法不會阻止元素的默認行為,但是

* return false;會阻止元素的默認行為。

*/

var btn = document.getElementById('btn');

btn.addEventListener('click',function(e){

return false;

});

事件冒泡是什么如何用jquery阻止事件冒泡

(1)什么是事件起泡

首先你要明白一點,當一個事件發(fā)生的時候,該事件總是有一個事件源,即引發(fā)這個事件的對象,一個事件不能憑空產(chǎn)生,這就是事件的發(fā)生。

當事件發(fā)生后,這個事件就要開始傳播。為什么要傳播呢?因為事件源本身并沒有處理事件的能力。例如我們點擊一個按鈕時,就會產(chǎn)生一個click事件,但這個按鈕本身不能處理這個事件(廢話),事件必須從這個按鈕傳播出去,從而到達能夠處理這個事件的代碼中(例如我們給按鈕的onclick屬性賦一個函數(shù)的名字,就是讓這個函數(shù)去處理該按鈕的click事件)。

當事件在傳播過程中,找到了一個能夠處理它的函數(shù),這時候我們就說這個函數(shù)捕捉到了這個事件。

說到這里,關(guān)鍵的問題來了,那就是一個函數(shù)是如何捕捉一個事件的呢?這就涉及到事件的冒泡了。

為了更好地理解冒泡的概念,我建議你現(xiàn)在想象一下你的面前放著一杯水,但這杯水和我們平時看到的有點點不同,它分為數(shù)層,每一層又分成一或多個區(qū)域,最頂層是我們熟悉的窗口對象(即window對象),下一層分為好幾個區(qū)域(document對象、history對象等等),而document對象的下一層又分為多個子對象。

這些對象的層次關(guān)系構(gòu)成了DOM中的對象樹。

事件的傳播是有方向的,當點擊一個按鈕時所產(chǎn)生的事件從這個按鈕處開始向上傳播(就像一個水泡從杯底冒上來,這就是之所以叫事件冒泡的原因),但這個事件總是尋找特定的屬性是否有值。例如按鈕的click事件先尋找在按鈕上是否有onclick屬性的有意義的定義(即該屬性指向一個存在的函數(shù)或一段可執(zhí)行的語句),如果有,執(zhí)行這個函數(shù)或語句;然后事件繼續(xù)向上傳播,到達按鈕的上一層對象(例如一個form對象或document對象,總之是包含了按鈕的父對象),如果該對象也定義了onclick屬性,則執(zhí)行屬性的值。

所以,如果這個按鈕上面有3層(form、document、window),且這三層都定義了onclick屬性,則當按鈕的click事件產(chǎn)生時,將會調(diào)用4個(包括按鈕本身的一個)函數(shù)或執(zhí)行4段語句。

事件的這幾個特性在0級dom中也是適用的。

(2)jquery阻止事件起泡實例

1、通過返回false來取消默認的行為并阻止事件起泡。

jQuery 代碼:

復制代碼 代碼如下:

$("form").bind(

"submit",

function() {

return false;

}

);

2、通過使用 preventDefault() 方法只取消默認的行為。

jQuery 代碼:

復制代碼 代碼如下:

$("form").bind(

"submit",

function(event){

event.preventDefault();

}

);

3、通過使用 stopPropagation() 方法只阻止一個事件起泡。

jQuery 代碼:

復制代碼 代碼如下:

$("form").bind(

"submit",

function(event){

event.stopPropagation();

}

);

(3)關(guān)于js事件起泡的驗證

今天這個問題主要涉及到幾個關(guān)鍵詞:對象,觸發(fā)事件,捕獲事件,執(zhí)行處理、起泡。這其實就是整個js執(zhí)行的過程。其中冒泡這個過程很有意思。其實就像是一杯水,但是這杯水是分層次的,最底下是當前觸發(fā)事件的對象。然后越往上范圍越大,最頂層肯定是window,倒數(shù)第二層是document。氣泡在上浮過程中會判斷當前所到達的層有沒有綁定事件處理方法。有話就執(zhí)行相應(yīng)的處理。沒有的話就繼續(xù)起泡。直到到達最頂層的window窗口層。我們可以在任何一層做相應(yīng)的處理以阻止事件繼續(xù)起泡。方法就是調(diào)用事件對象的阻止起泡的方法。event.stopPropagation();下面是寫的一個驗證js事件起泡的過程方法。

復制代碼 代碼如下:

script type="text/javascript"

$(document).ready(function(){

$('.one').click(function(e){

alert('one');

});

$('.two').click(function(e){  

alert('two');

});

$('.three').click(function(e){

alert('three');

//阻止起泡取消下面的注釋

// e.stopPropagation();

});

});

/script

div class="one" style="width:200px;height:200px;background:green;"

one

div class="two" style="width:150px;height:150px;background:yellow;"

two

div class="three"

three

/div

/div

/div

(4)總結(jié)

1.一個事件起泡對應(yīng)觸發(fā)的是上層的同一事件

特殊:如果two設(shè)置成雙擊事件,那么在你單擊two的時候就會起泡觸發(fā)one單擊的事件

(雙擊包含單擊)。

2.如果在click事件中,在你要處理的事件之前加上e.preventDefault();

那么就取消了行為(通俗理解:相當于做了個return操作),不執(zhí)行之后的語句了。

3.e.stopPropagation()只要在click事件中,就不會觸發(fā)上層click事件。

如何禁用a標簽,是禁用事件,而不是什么阻止跳轉(zhuǎn)之類的

你指的是禁用默認事件?

a?href="baidu.com"百度/a

1.jQuery 阻止默認事件

$("a").click(function(?event?)?{

event.preventDefault();?//?阻止默認事件

event.stopPropagation();?//?阻止冒泡

});

2.javascript?

var?elem?=?document.getElementByTagName("a");

elem.addEventListener("click",function(event){

event.preventDefault();?//?阻止默認事件

event.stopPropagation();?//?阻止冒泡

},false);

說明:

preventDefault();???//?阻止默認事件

stopPropagation();??//?阻止冒泡

return?false;???//?既阻止默認事件?也阻止冒泡

jquery事件對象event有哪些屬性和方法

1.event.type屬性

該方法作用是可以獲取到時間的類型。

2.event.preventDefault()方法

該方法的作用是阻止默認的事件行為。JavaScript中符合W3C規(guī)范的preventDefault()方法在IE瀏覽器中無效。jQuery對其進行了封裝,使之能兼容各種瀏覽器。

3.event.stopPropagation()方法

該方法是阻止事件的冒泡。JavaScript中符合W3C規(guī)范的stopPropagation()方法在IE瀏覽器中無效。jQuery對其進行封裝,使之能兼容各種瀏覽器。

4.event.target屬性

event.target屬性的作用是獲取到出發(fā)事件的元素。jQuery對其封裝后,避免了W3C、IE和safari瀏覽器不同標準的差異。

5.event.relatedTarget屬性

在標準DOM中,mouseover和mouseout所發(fā)生的元素可以通過event.target()方法來訪問,相關(guān)元素是通過event.relatedTarget屬性來訪問的。event.relatedTarget屬性在mouseover中相當于IE瀏覽器的event.fromElement屬性,在mouseout中相當于IE瀏覽器的event.toElement,jQuery對其進行了封裝,使之能兼容各種瀏覽器。

6.event.pageX/event.pageY屬性

該方法的作用是獲取到光標相對頁面的x坐標和y坐標。如果沒有使用jQuery時,那么IE瀏覽器中是用event/event.y方法,而在Firefox瀏覽器中用event.pageX/event.pageY方法。如果頁上有滾動條,則還要加上滾動條的寬度和高度。在IE瀏覽器中還應(yīng)該減去默認的2px的邊框。

7.event.which屬性

該方法的作用是在鼠標單擊事件中獲取到鼠標的左、中、右鍵;在鍵盤事件中獲取鍵盤的按鈕。

8.event.metaKey屬性

針對不同瀏覽器對鍵盤中的ctrl按鍵解釋不同,jQuery也進行了封裝,并規(guī)定event.metaKey()方法為鍵盤事件中獲取ctrl按鍵。

9.event.originalEvent屬性。

該方法的作用是指向原始的事件對象。


文章題目:jquery阻止默認事件,jquery禁止點擊事件
轉(zhuǎn)載來于:http://weahome.cn/article/dsggdid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部