详细问题描述
单WebView模式下拉刷新会触发longtap事件
重现步骤
为WebView配置下拉,开启longtap,并且设置longtap的回调函数,进行下拉操作。
运行环境
[系统版本] Android 4.4.2
[IDE版本]HBuilder 8.8.1.201708230235-alpha
[mui版本]Mui v3.7.0
附件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello MUI</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="../css/mui.min.css">
<style type="text/css">
.mui-content>.mui-table-view:first-child {
margin-top: -1px;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<h1 id="title" class="mui-title">下拉刷新和上来加载 单webview模式</h1>
</header>
<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content">
<!--数据列表-->
<ul class="mui-table-view mui-table-view-chevron"></ul>
</div>
<script src="../js/mui.min.js" type="text/javascript" charset="utf-8"></script>
<script>
mui.init({
gestureConfig: {
tap: true, //默认为true
longtap: true, //默认为false
},
pullRefresh: {
container: '#pullrefresh',
down: {
style: 'circle',
callback: pulldownRefresh
},
up: {
auto: true,
contentrefresh: '正在加载...',
callback: pullupRefresh
}
}
});
var count = 0;
function pullupRefresh() {
setTimeout(function() {
mui('#pullrefresh').pullRefresh().endPullup((++count > 2)); //参数为true代表没有更多数据了。
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
var newCount = cells.length > 0 ? 5 : 20; //首次加载20条,满屏
for(var i = cells.length, len = i + newCount; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
table.appendChild(li);
}
}, 1500);
}
function addData() {
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
for(var i = cells.length, len = i + 5; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
//下拉刷新,新纪录插到最前面;
table.insertBefore(li, table.firstChild);
}
}
/**
* 下拉刷新具体业务实现
*/
function pulldownRefresh() {
setTimeout(function() {
addData();
mui('#pullrefresh').pullRefresh().endPulldown();
mui.toast("为你推荐了5篇文章");
}, 1500);
}
mui(".mui-table-view").on('longtap', 'li', function(e) {
alert('');
});
</script>
</body>
</html>

联系方式
[QQ]1748592697
[电话]