1
有許多問題關於阻止用戶啓動(即鼠標,觸摸,鍵盤)通過JavaScript滾動。在這種情況下,我在CMS中創建了一個組件,該組件需要阻止另一個CMS組件滾動到視圖中。我無法訪問其他CMS組件的代碼(這也是嚴重混淆)。防止JavaScript啓動滾動
我曾嘗試禁用迫使下面的代碼滾動的典型方式,但其他CMS仍然滾動到視圖中,第二個或兩個以下代碼後運行:
Element.prototype.scrollIntoView = function(alignWithTop){
console.log("******** scrollIntoView: " + this.getAttribute("id"));
};
Element.prototype.scrollIntoViewIfNeeded = function(alignWithTop){
console.log("******** scrollIntoViewIfNeeded: " + this.getAttribute("id"));
};
Element.prototype.scrollByLines = function(){
console.log("******** scrollByLines: " + this.getAttribute("id"));
};
Element.prototype.scrollByPages = function(){
console.log("******** scrollByPages: " + this.getAttribute("id"));
};
Element.prototype.focus = function(){
console.log("******** focus: " + this.getAttribute("id"));
};
window.scroll = function(xpos,ypos){
console.log("******** scroll: " + xpos+","+ypos);
}
window.scrollTo = function(xpos,ypos){
console.log("******** scrollTo: " + xpos+","+ypos);
}
window.scrollBy = function(xpos,ypos){
console.log("******** scrollBy: " + xpos+","+ypos);
}
jQuery.fn.scrollTop = function(){
console.log("!!!!!!!! scrollTop");
};
jQuery.fn.animate = function(){
console.log("!!!!!!!! animate");
};
jQuery.fn.click = function(){
console.log("!!!!!!!! click");
};
我可以設置window.onscroll
給力在一段時間內致電window.scrollTo(0,0)
,但這看起來並不令人滿意,因爲它看起來很刺眼,並且阻止了用戶啓動的滾動,我不想阻止它。
是否有其他方式的JavaScript(或jQuery)可以強制上述代碼中缺少的滾動?
「滾動自己進入視圖「 - 它是一個像淡入或類似的動畫效果? – Vandesh
嘗試返回false時,你認爲它不應該滾動。 –
通過「自動滾動到視圖中」我的意思是我的組件應該位於頁面的頂部,下面提供了CMS提供的組件,名義上滾動頁面的底部。但是當它加載時,CMS提供的組件會滾動到視圖中。 –