在博主印象中设置只读应该是readonly,太久没有写微信小程序,发现没有效果,
于是简单写篇文章记录下。

微信小程序中,设置 readonly 属性后,input 组件仍然可以交互的常见原因:

|
1 2 3 4 5 |
class="search-input" placeholder="请输入你需要搜索的型号" disabled /> |
特点:
|
1 2 3 4 5 6 |
class="search-input" placeholder="请输入你需要搜索的型号" bindtap="preventTap" catchtouchstart="preventTouch" /> |
|
1 2 3 4 5 6 7 8 9 10 |
Page({ preventTap(e) { // 阻止默认行为 return false; }, preventTouch(e) { // 阻止触摸事件 return false; } }) |
|
1 2 3 4 5 6 7 8 9 10 11 |
/* 禁止所有交互 */ .search-input { pointer-events: none; -webkit-user-select: none; user-select: none; }
/* 仅禁止文本选择 */ .search-input { user-select: none; } |
|
1 2 3 |
请输入你需要搜索的型号
|
|
1 2 3 4 5 6 7 8 9 10 |
class="search-input" placeholder="请输入你需要搜索的型号" bindinput="onInput" />
|
根据具体场景选择方案:
|
1 2 3 4 5 6 7 8 |
class="search-input readonly-style" placeholder="请输入你需要搜索的型号" readonly bindtap="preventAction" value="{{searchValue}}" /> |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Page({ data: { searchValue: '' }, preventAction() { wx.showToast({ title: '当前不可编辑', icon: 'none' }) return false; } }) |
|
1 2 3 4 |
.readonly-style { background-color: #f5f5f5; color: #999; } |