微信内置浏览器 不支持 onclick 怎么解决?
项目被迫用的jquery然后做点击事件,元素是写死的,不是动态加载的不存在委托,可就是点击.on('click')不生效,onclick原生的也不生效,但是在浏览器是可以点击的,这个微信的兼容性要怎么处理?
页面结构如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>演播主页</title>
</head>
<body>
<meta name="viewport"
content="width=device-width, user-scalable=no,initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0"/>
<!-- <link rel="stylesheet" href="./css/global.css">
<link rel="stylesheet" href="./css/production.css"> -->
<div class="production">
<div class="header">
<div class="nav">
<p><img src="./img/qinshi.png" alt=""></p>
</div>
<div class="title">
<p>
<!-- <span>小灰灰222
<img src="./img/perform.png" alt="">
</span> -->
</p>
</div>
</div>
</div>
<div class="tabBarWrapper">
<div class="line"></div>
<div class="tabBar">
<!--1242 -zuo160 w300-->
<div class="stance"></div>
<a href="javascript:;" class="works">作品</a>
<div class="center"></div>
<a href="javascript:;" class="abstract">简介</a>
<div class="stance"></div>
</div>
</div>
<!--margin top 0.5rem-->
<div class="containWrapper">
<div class="contain">
<div class="banner">
<!--344 7.96-->
<div class="jietu">
<img class="cover" src="" alt="">
<img src="./img/play.png" alt="">
</div>
<div class="slider">
<p class="bookname">血色黎明</p>
<p class="studio">演播:<span>哈利波特</span> 作者:<span>哈利波特</span></p>
<p class="explain">精心精心</p>
</div>
</div>
</div>
</div>
<div class="introduction" style="display: none">
<div class="container">
<p> 小灰灰,灰太狼</p>
<p>
1953年1月成立于北京</p>
</div>
</div>
<!-- <script src="./js/jquery.min.js"></script> -->
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
$(function () {
$('.works').on('click', function () {
$(this).css({'border-bottom': '0.162rem solid #ce3d3a', 'color': '#ce3d3a'})
$('.abstract').css({'border': '0px', 'color': '#999999'})
$('.containWrapper').show()
$('.introduction').hide()
})
$('.abstract').on('click', function () {
$(this).css({'border-bottom': '0.162rem solid #ce3d3a', 'color': '#ce3d3a'})
$('.works').css({'border': '0px', 'color': '#999999'})
$('.containWrapper').hide()
$('.introduction').show()
})
for(var i =0;i<$('.cover').length;i++){
if($($('.cover')[i]).attr('src')){
// $($('.cover')[i]).attr('src','./img/jietu1.png')
}else {
$($('.cover')[i]).attr('src','./img/jietu1.png')
}
}
})
</script>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我直接写成答案吧。
如果不能用的话我再测试一下。
补充:可用的方法
(JSBIN),不好意思,链接贴错了,JSBIN在页面初始化时,为其添加事件绑定
$("*").bind("click",function(){});
解决方法来自这里
补充:你的问题来自于IP访问的时候被微信转码,使得点击事件(js代码)被屏蔽
选择下方的访问原网页即可,最好的方法是用域名访问
项目源码
之前也做过微信内访问的站点,没有遇到过click不能点击的情况。就遇到了一个ios点击延迟情况,用fastclick处理了。