色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery mouseup不觸發

劉柏宏2年前11瀏覽0評論

最近在使用jquery開發中遇到一個問題,就是鼠標松開事件mouseup不觸發。

首先我檢查了代碼,確認綁定鼠標松開事件的元素并沒有問題,也沒有其他的js代碼阻止了事件的觸發。

我開始懷疑是瀏覽器的問題,但是在多個主流瀏覽器中都出現了這個問題,所以瀏覽器不是問題的原因。

最后,我仔細檢查代碼,發現原來是mousedown事件中阻止了事件冒泡導致的。因為在鼠標按下時,我需要阻止事件冒泡,但是在鼠標松開時,事件就被阻止了。

// 鼠標按下事件
$(document).on('mousedown','#box',function(e){
e.stopPropagation();
// other code...
});
// 鼠標松開事件
$(document).on('mouseup','#box',function(){
console.log('mouseup'); // 不會觸發
});

解決辦法是在事件綁定時,使用一個事件監聽器來處理事件冒泡問題,而不是在事件中直接處理。

// 鼠標按下事件
$(document).on('mousedown','#box',function(e){
e.stopPropagation();
// other code...
// 使用事件監聽器處理事件冒泡問題
$(document).off('mouseup', '#box').on('mouseup', '#box', function(){
console.log('mouseup'); // 正常觸發
});
});

這樣就可以保證在鼠標按下時阻止事件冒泡,在鼠標松開時又能夠正常觸發鼠標松開事件了。