1、iOS上浏览器上使用jQuery不允许storm代理到文档 $(document).on("click", "selector", function(){});
以上绑定可能无法点击。 解决办法是在这段代码之前添加一串代码:
$(body>*).bind("点击", function(){....}); 2、点击移动端的输入框(input),防止弹出手机输入法按钮
在开发移动页面时,有时我们经常会使用自己定义的输入按钮,而不是弹出自己的按钮,所以我们可以在点击风暴中添加如下代码:
$("选择器").click(function(){ document.activeElement.blur(); }); 3、iOS平台上的按钮类型输入会有默认样式。
使用以下代码可以在 Android 上运行javascript 设置值,但在 iOS 上不起作用。
border: none;
outline: none;
background-color: 颜色;
但iOS上需要添加一个:
-webkit-外观:无;
此属性也适用于 Android。
4. 移动Retina屏幕的1px解决方案(iOS)
我在网上找到了很多解决方案,所以这里是链接
移动Retina屏幕上各大主流网站的1px解决方案
如何在Vue项目中使用vw实现移动适配5、iOS浏览器设置overflow:scroll后滑动不流畅; 感觉就像冻结了
目前这在Android和PC上没有问题,但在iOS上有问题。 解决办法是添加属性:
-webkit-overflow-scrolling:触摸;
参考:
[兼容性]ios上设置溢出:滚动不滚动bug
iOS Safari浏览器上溢出:滚动元素无法滑动的bug解决办法
iOS safari 浏览器上的溢出:滚动元素无法滚动 bug 注意事项
解决iOS 6上页面使用overflow:scroll滑动、冻结的问题。元素设置为display:inline-block后; 元素之间将形成宽度
解决办法是设置CSS属性font-size: 0; 在包含这些元素的父元素上
7、Angular CLI和Vue CLI打包的项目不在根目录,存在找不到资源的问题!
module.exports = {
baseUrl: process.env.NODE_ENV === 'production'
? '/henjievue/'
: '/'
}
对于3.3以上版本,添加以下代码:
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? '/henjievue/'
: '/'
}
八、用于处理资产文件的 Angular CLI 开发。
asset文件夹上面的内容在构建后不参与打包,只是完整复制,所以开发过程中路径要写成绝对路径,如下代码所示:
9.解决ios10及以上Safari无法严格禁止缩放的问题
//以下代码是为了解决在iOS 10系统之后设置meta来禁止缩放失效的问题
window.onload = function() {
// 阻止双击放大
document.addEventListener('touchstart', function(event) {
if (event.touches.length > 1) {
event.preventDefault();
}
});
var lastTouchEnd = 0;
document.addEventListener('touchend', function(event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
// 阻止双指放大
document.addEventListener('gesturestart', function(event) {
event.preventDefault();
});
}
这个缩放有问题。 如果滚动页面时使用两指缩放,可以放大。解决办法是给最里面的div设置一个样式(这里我以vue开发单页为例),这个#app在index中设置即可它在 .html 中
#app {
overflow-x: hidden;
-webkit-overflow-scrolling: touch; /* 加这个是为了滚动流畅 */
}
10、最新的Vue脚手架工具(3.x以上)下,使用2.x脚手架使用的构建目录
安装了最新的 vue 脚手架后,使用以下命令安装附加工具:
npm install -g @vue/cli-init
然后可以使用以下命令生成旧项目目录:
vue init webpack 项目名称 十一、Vue CLi 3.0脚手架工具 关闭ESlint检测
在vue.config.js中添加一句:
module.exports = {
baseUrl: process.env.NODE_ENV === 'production'
? '/henjievue/'
: '/',
lintOnSave: false //加这句话可以关闭ESlint
}
12. JS循环上有异步请求。 如何保证异步请求按顺序执行
这个不能用循环解决,应该用递归实现,或者用Promise.all,这里只提供递归的解决方案。
(function loop(index){
axios.get("http://192.168.12.101:3000/news/list"+"?pageNum="+page[index]).then((response)=>{
console.log(response);
if(++index {
console.log(error);
})
})(0)
十三。 通过vue路由上的路由守卫的beforeRouteEnter的钩子函数很难获取到vue实例(this)
在这个钩子函数中,不能直接使用this来获取vue实例javascript 设置值,或者报未定义的错误。 解决方法如下:
const Foo = {
template: `...`,
beforeRouteEnter (to, from, next) {
// 在渲染该组件的对应路由被 confirm 前调用
// 不!能!获取组件实例 `this`
// 因为当钩子执行前,组件实例还没被创建
},
beforeRouteUpdate (to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
// 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
// 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
// 可以访问组件实例 `this`
},
beforeRouteLeave (to, from, next) {
// 导航离开该组件的对应路由时调用
// 可以访问组件实例 `this`
}
}
//以上为解释。以下为解决方法
beforeRouteEnter(to, from, next){
next((vm)=>{
console.log(vm);
if(from.path == '/'){
vm.isShowAppr = false;
}
});
},
14、Chrome浏览器下,img标签没有图片时会显示边框?
解决办法如下,只需添加一段css代码即可:
img[src=""], img:not([src]){
opacity: 0;
}
十五、v-if绑定链表变量,改变变量的值并不使v-if起作用
问题:当 v-if 绑定到链表变量时,更改变量的值不会使 v-if 起作用。 这会导致一个问题。 由于 JavaScript 限制,Vue 无法检查以下更改列表:
1.当你直接借助索引设置一个项目时
2.当改变链表的粗细时
原因:网上总结:
Vue测量数据的改变是通过Object.defineProperty实现的,所以字段的加法操作无法被窃听也是可以理解的,因为构造函数中已经对所有属性做了测量绑定操作。
Vue 通过为每个键设置 getter/setter 来实现响应能力。 开发人员使用链表来实现遍历的目的。 这个时候调用getter的开销太大了,所以Vue并没有在field中设置每个key,而是在链表上定义ob,而原来field的原型技术只能通过替换push来影响等等。 从vue源码中可以清楚地看出,Vue跳过了为链表的每个key设置响应类型的过程,而是直接递归地为value设置响应类型。
解决:
第一类问题:
Vue.set(vm.items, indexOfItem, newValue)
vm.items.splice(indexOfItem, 1, newValue)
vm.$set(vm.items, indexOfItem, newValue)
eg: this.$set(this.isShowOKimg, index, true);
第二类问题:
vm.items.splice(newLength)
v-if 绑定字段变量,更改变量的值不会使 v-if 起作用
16.表单中onchange风暴的触发条件
input输入框的onchange事件只能在input失去焦点时触发; 输入框内容发生变化时不会触发变化,只有鼠标点击其他地方时才能触发; onchange 事件也可用于单选按钮 更改复选框后触发的风暴。
所有主流浏览器都支持onchange事件;
onchange 属性可与: 、 和