android h5页中嵌套弹框,h5页面嵌套在安卓或IOS中的坑

h5页面嵌套在安卓或IOS中的坑

最近由于原生app开发太忙,整个商户一块用h5页面来做,之后嵌套在app里面,在这个过程中,碰到一些之前没有遇到的坑,做个记录,下次防坑。 1、弹出模态框,底部内容禁止滑动。

一开始想到的就是点击按钮,模态框出现时,给body内容加上overflow:hidden,在谷歌模拟器上这样是没有问题的,但是真机测试中不行,需要在当前模态框中加入

$('模态框').on('touchmove', function(e) {

e.preventDefault();

}); 2、出现模态框时候,点击别的空白区域,模态框消失

应用场景:当点击页面右上角更多时候,出现一个模态框里面有举报,收藏等操作,点击没有内容区域时候就需要隐藏这个框。

处理方法:$('模态框').on('click',function(ev){

var ev = ev || window.event;

var target = ev.target || ev.srcElement;

if($(target).hasClass('shelter')){

$(target).fadeOut(200);

}

})

利用的就是事件委托原理,判断目标元素是直属的模态框就隐藏,否则显示(点击模态框空白处隐藏) 3、ios或Android中 页面的点击事件会有一个灰色的层出现

应用场景:由于没有用tap这些移动端专有的事件,移动端的a链接跳转或者元素的click事件会有灰色背景

处理方法:需要用的的标签{

background-color:transparent;

-webkit-tap-highlight-color:rgba(255,255,255,0)

} 4、修改input 的 placeholder的颜色

应用场景:这个问题比较老生常谈,在移动端遇到的很多,input的提示文字要浅点,输入的文字较深

处理方法:input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {

color:#ccc ;

}

input:-moz-placeholder, textarea:-moz-placeholder {

color:#ccc  ;

}

input::-moz-placeholder, textarea::-moz-placeholder {

color:#ccc ;

}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {

color:#ccc  ;

} 5、可输入的div

应用场景:在表单页面,需要输入文字很多的文本框,input不能换行,textarea虽然可以,但是它的高度不能随文本增加而增高(当然js可以实现),但是可以CSS实现的就不需要js了

处理方法:给div增加 contenteditable="true" 属性,但无法去除从网页粘贴过来内容的格式,用contenteditable="plaintext-only",既可以只粘贴文字了,需要注意的是,在ios中,需要给当前元素加-webkit-user-select:text;属性,否则,会弹出软键盘,但是输入不了文字。

效果预览

div{

width:300px;

border:1pxsolid#666;

font-size:20px;

color:blue;

line-height:40px;

outline:none;

padding:10px;

}

div:empty:before{

content:attr(placeholder);

color:#ccc;

}

div:focus:before{

content:none;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值