如果你說你要防止滾動的存在的,如果鼠標光標(懸停)在特定元件再取你提供的功能和添加條件,使得DOMMouseScroll事件只有當標誌沒有被設置取消:
var allowScroll = true;
$("div.noscroll").hover(function() {
allowScroll = false;
}, function() {
allowScroll = true;
});
document.addEventListener('DOMMouseScroll', function(e) {
if (!allowScroll) {
console.log(e);
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}
}, false);
演示:http://jsfiddle.net/WSQbp/
鑑於你用「jquery」標記了你的問題,我用jQuery來設置管理標誌的懸停處理程序。您可以通過使用jQuery設置你的DOMMouseScroll處理程序進一步簡化代碼:
$(document).on('DOMMouseScroll', function() {
if (!allowScroll)
return false;
});
演示:http://jsfiddle.net/WSQbp/1/
你不需要在這個故事的窗口滾動功能。只需一個懸停功能 –
實際上你想要什麼?光標位置?或者當光標放在元素上時懸停效果? – Talha
如果光標位於元素的頂部,我需要暫停窗口滾動功能。這可能嗎? – aneeshraj