【VK原创】【源码】mui-view关闭侧滑返回功能之源码篇

【VK原创】【源码】mui-view关闭侧滑返回功能之源码篇

我想很多人跟我一样,想关闭这个功能,于是乎网上搜了一大堆。结果都无效,俗话说靠别人不如靠自己,于是自己动手改源码。

看了一下mui-view.js源码,结构还是比较清晰的。由于是滑动功能,自然而然先搜索drag这个关键词,果然有一个函数_drag: function(event) 函数,我们定位到这个函数的位置,查看代码。可以发现这个函数就是侧滑关闭逻辑的开始入口。既然已经找到了入口,我们可以简单粗暴的直接删除整个源码即可实现关闭侧滑返回功能(当然我不建议这么做,因为这样其实是删除这个功能,而不是关闭,关闭意味着可以再打开)

我们再调整一下源码

优化后的方案:

1.打开mui.view.js源码

2.定位到_drag: function(event) 函数

3.在指定位置插入 return;来阻止运行函数

if (this.isInTransition) {
return;
}
//在此处插入代码开始-----------------------------------------------------------
try {
 if(typeof vk !="undefined" && typeof vk.config !="undefined"){
   if(!vk.config.swipeBack){
     return;
   }
 }
} catch (e) {console.error(e);}

//在此处插入代码结束-----------------------------------------------------------
var detail = event.detail;
if (!this.dragging) {
  if (($.gestures.session.firstTouch.center.x - this.view.offsetLeft) < this.options.swipeBackPageActiveArea) {
    this.isBack = true;
    this._initPageTransform();
  }
}

解析:vk.config.swipeBack为自己定义的配置变量,可以替换为自己的变量,如:muiSwipeBack

写try {}catch (e) {} 只是为了上一层保险,防止自己增加的代码出bug后,影响原有的代码执行(当然上面增加的代码是不会出错的,因为已增加了变量是否存在的判断)

你可能感兴趣的:(mui,mui,源码,js,前端,vk)