新聞中心
jquery如何終止一個事件
首先你要理解一點,jQuery 的綁定事件是能夠疊加的,比如對一個div 綁定的多次 blur 事件,在觸發(fā)的時候 多個綁定在div 上的blur 事件都會執(zhí)行;
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供衛(wèi)東網(wǎng)站建設(shè)、衛(wèi)東做網(wǎng)站、衛(wèi)東網(wǎng)站設(shè)計、衛(wèi)東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、衛(wèi)東企業(yè)網(wǎng)站模板建站服務(wù),十載衛(wèi)東做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
div id="demo'/div
$( '#demo' ).bind( 'blur', function(){} );
$( '#demo' ).bind( 'blur', function(){} );
$( '#demo' ).bind( 'blur', function(){} );
比如以上對 demo 綁定了 3 次blur 事件,那么在觸發(fā)blur 事件的時候 3 個都會執(zhí)行;
想要只執(zhí)行最后一次綁定的時間而忽視之前綁定的事件,就要在下一次綁定事件之前先解除原先綁定的事件,再綁定新的事件
div id="demo'/div
$( '#demo' ).bind( 'blur', function(){
$( '#demo' ).unbind( 'blur' ); // 在執(zhí)行完 blur 事件后解除綁定的事件或者在其他的地方解除綁定也行;
} );
原理說多了,其實樓主的代碼改法很簡單,
$('#b'+id1).bind('blur',function(){
$('body').append('div id="test"執(zhí)行到節(jié)點2/div');
})
把這個事件綁定寫到 click 外面去,然后在 click 里面寫上模擬 blur 事件的代碼就可以了,這樣就保證了blur 事件只綁定了一次,而不是在每次click 之后疊加綁定了新的事件
$("a.reply").click(function(){
//點擊'回復(fù)'觸發(fā)
//兩處append調(diào)用都是供測試用,項目中為對應(yīng)處其他功能代碼
$('body').append('div id="test"執(zhí)行到節(jié)點1/div');
$('#b'+id1).blur(); // 執(zhí)行綁定的 blur 事件
return false;
})
$('#b'+id1).bind('blur',function(){
$('body').append('div id="test"執(zhí)行到節(jié)點2/div');
})
jquery怎么取消鼠標(biāo)移動事件
使用off()或者unbind()進行移動事件的解綁
例如:
$(document).mouseup(function (e) {
$(this).unbind('mousemove');
});
jQuery事件冒泡及解決辦法
什么是事件冒泡:在一個對象上觸發(fā)某類事件(比如onclick事件),如果次對象定義了此事件的處理程序,那么此事件就會調(diào)用這個處理程序,如果沒有定義此事件處理程序或者事件返回true,那么這個事件會向這個對象的父級對象傳播,從里到外,直至它被處理(父級對象所有同類事件都將被激活),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。
事件冒泡的作用:事件冒泡允許多個操作被集中處理(把事件處理器添加到一個父級元素上,避免把事件處理器添加到多個子級元素上),它還可以讓你在對象層的不同級別捕獲事件。
阻止事件冒泡:事件冒泡機制有時候是不需要的,需要阻止掉,通過 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();
網(wǎng)站欄目:jquery取消事件,jquery移除事件的方法
路徑分享:http://fisionsoft.com.cn/article/dsceghs.html