vue 引入 fastclick插件后,有些a链接或者click事件需要点击两次,百度也搜不到,就只能看源码。。
找到node_modules 依赖包下面的fastclick—lib—fastclick.js文件
并找到 needsClick 方法
FastClick.prototype.needsClick = function(target) {
并在 switch 中写下判断条件
switch (target.nodeName.toLowerCase()) {
// Don't send a synthetic click to disabled inputs (issue #62)
case 'button':
case 'select':
case 'textarea':
if (target.disabled) {
return true;
}
break;
case 'input':
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
if ((deviceIsIOS && target.type === 'file') || target.disabled) {
return true;
}
break;
case 'label':
case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames
case 'video':
return true;
// **************************************************
// 添加的click事件的过滤对象
// 这里写上 你要 不阻止冒泡的元素名就可以了
// **************************************************
case 'div':
case 'img':
case 'p':
case 'span':
case 'a':
case 'h5':
return true;
}
这样就不会被阻止冒泡了
注意:这样改了最好不要用 touchstart 和 touchend ,因为这样滑动也会触发这两个事件
来源:CSDN
作者:TGODS
链接:https://blog.csdn.net/qq_37131375/article/details/103994665