初始化 区域滚动 导致滚动区域内 textarea 无法滑动内容
<div class="mui-content">
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<ul class="mui-table-view info-list">
<li class="mui-table-view-cell">
<span>简 介</span>
<div class="mui-input-row">
<textarea class="modify-text" rows="4">测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/>测试内容<br/></textarea>
</div>
</li>
</ul>
</div>
</div>
</div>
mui('.mui-content>.mui-scroll-wrapper').scroll({ deceleration: 0.0005 });
希望像 下拉刷新那样加入 /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/ 这样的 正则控制跳过输入标签。
mui.js
>line: 3587
//这里没有判断? preventDefaultException
// 刷拉刷新的 滚动区域都有 正则 跳过 相关 标签 /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
handleEvent: function(e) {
//解决方案代码:
if(e.target){// 自己简单写了个 事件标签判断 解决了问题、
if(/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/.test(e.target.tagName)){
if(document.activeElement == e.target){ // 焦点文本输入
// 等于输入文本框时 且 焦点在标签上 时 不做滑动处理。。。这个逻辑应该是对的。
// 点击输入框 允许获取焦点
if(e.type==$.EVENT_START){
return;
}
// 细节优化、TEXTAREA 滚动到最 顶部/底部 时 事件交给滚动区域 完成外部滚动区域滑动
if(e.target.scrollTop!=0 && e.target.scrollTop!=(e.target.scrollHeight-e.target.offsetHeight)){
return;
}
}
}
}
//End - 解决方案代码
if (this.stopped) {
this.resetPosition();
return;
}
switch (e.type) {
case $.EVENT_START:
this._start(e);
break;
运行环境
[mui版本] v3.0.0
2 个回复
Runic (作者)
奇怪、。。。谷歌模式里 正常、android 下还是 不行!
Runic (作者)
e.path 改成 e.target 好像可以了。