技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

JavaScript如何禁止微信瀏覽器下拉回彈

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2017-10-20 12:33┆點(diǎn)擊:

<script type="text/javascript"> var overscroll = function(el){ el.addEventListener('touchstart', function(){ var top = el.scrollTop; var totalScroll = el.scrollHeight; var currentScroll = top + el.offsetHeight; if(top === 0) { el.scrollTop = 1; }else if(currentScroll === totalScroll){ el.scrollTop = top - 1; } }); el.addEventListener('touchmove', function(evt){ if(el.offsetHeight < el.scrollHeight){ evt._isScroller = true; } }); } overscroll(document.querySelector('.scroll'));//哪里需要可以局部滾動(dòng),添加一個(gè)“scroll”的class document.body.addEventListener('touchmove', function(evt) { if(!evt._isScroller){ evt.preventDefault(); } }); </script>

此方法的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):支持局部滾動(dòng);
缺點(diǎn):瀏覽器本身超出頁(yè)面出現(xiàn)的滾動(dòng)被禁用掉了,需要改為局部滾動(dòng),且局部滾動(dòng)的地方需要加“scroll”的class。
注:如果同一個(gè)頁(yè)面多個(gè)局部滾動(dòng),需要將
overscroll(document.querySelector('.scroll');
改為
for(var i=0;i<document.querySelectorAll('.scroll').length;i++){
overscroll(document.querySelectorAll('.scroll')[i]);
}

方法2:

<script type="text/javascript"> function stopDrop(){ var lastY;//最后一次y坐標(biāo)點(diǎn) $(document.body).on('touchstart', function(event) { lastY = event.originalEvent.changedTouches[0].clientY;//點(diǎn)擊屏幕時(shí)記錄最后一次Y度坐標(biāo)。 }); $(document.body).on('touchmove', function(event) { var y = event.originalEvent.changedTouches[0].clientY; var st = $(this).scrollTop(); //滾動(dòng)條高度 if (y >= lastY && st <= 10) {//如果滾動(dòng)條高度小于0,可以理解為到頂了,且是下拉情況下,阻止touchmove事件。 lastY = y; event.preventDefault(); } lastY = y; }); } </script>

此方法的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):支持瀏覽器本身超出頁(yè)面的滾動(dòng)
缺點(diǎn):不支持局部滾動(dòng)