1.什麼是事件冒泡:
頁面上有好多事件,也可以多個元素響應乙個事件.假如:
提示上面這段**一共有三個事件,body,div,a都分別繫結了單擊事件。在頁面中當單擊a標籤會連續彈出3個提示框。這就是事件冒泡引起的現象。事件冒 泡的過程是:a --> div --> body 。a冒泡到div冒泡到body
2.事件冒泡引發的問題。
本來在上面的**中只想觸發元素的onclick事件,然而,事件也同時 觸發了。因此我們必須要對事件的作用範圍進行限制。當單擊元素的onclick事件時只觸發本身的事件。由於ie- dom和標準dom實現事件物件的方法各不相同,導致在不同瀏覽器中獲取事件的物件變得比較困難。如果想阻止事件的傳遞,我們可以用 event.stoppropagation()阻止事件的傳遞行為.
3.jquery對這個問題進行了必要的擴充套件和封裝.
$("element").bind("click",function(event));
4.阻止預設行為
網頁中的某些元素是有自己的預設行為的,比如果超連結單節後需要跳轉,提交按鈕點選後需要提交表單,有時需要阻止這些行為,也就是預設行為。
jquery中可用用preventdefault()的方法來阻止元素的預設行為.
$('#submit').bind('click',function(event)
})5.jquery中對冒泡和預設行為的阻止方法同樣也可以改寫,改寫後能夠達到同樣的效果
event.preventdefault(); 改寫為: return false;
event.stoppropagation(); 改寫為: return false;
ps:推薦大家不要圖省事,任何時候都寫return false;
對事件處理的錯誤使用
1 沒有很好的將事件處理程式和應用邏輯程式相分離。應當將事件的處理和邏輯過程分解成兩個不同的部分。2 對事件物件的分發傳遞。當事件物件傳入事件處理函式之後,簡單的將事件物件傳入了應用邏輯處理函式。這樣做的壞處是 很難讓別人一眼就看出邏輯處理函式中具體需要什麼。handleclick function...
jquery事件冒泡
什麼是事件冒泡 在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件層次...
jquery 事件冒泡
什麼是事件冒泡 在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件層次...