bugs
1 Do not use 'new' for side effects
/* eslint-disable no-new */
new Layout()...
2 input 不在显示上下加减的控制按钮
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"]{
-moz-appearance: textfield;
}
3 click事件 在iphone上面不好使
解决方式:为click元素,添加cursor:pointer样式即可。
原理:iPhone支持touch事件,但是不会把click事件处理为touch事件,所以要在样式里面设置一条:cursor:pointer,这样就会使系统把当前的标签处理为a标签的click事件,然后执行click事件。
4 输入框被软键盘遮挡
问题描述:我们使用 H5 做移动 App,或者进行移动网站开发时。如果文本输入框在整个页面的下方,当我们点击输入框要输入文字时,系统弹出的虚拟键盘就会将输入框给挡住
解决方式:
1 $$('input[type="text"],textarea').on('click', function () { 2 var target = this; 3 setTimeout(function(){ 4 target.scrollIntoViewIfNeeded(); 5 console.log('scrollIntoViewIfNeeded'); 6 },1000); //亲测:设置为1000比较合适 7 });
原理:元素的 scrollIntoViewIfNeeded() 方法执行后如果当前元素在视口中不可见,则会滚动浏览器窗口或容器元素,最终让它可见。如果当前元素在视口中已经是可见的,这个方法什么也不做。