uni-app input @blur真机调试出错 [object DOMException] at view.umd.min.js:1
uni-app input @blur真机调试出错 [object DOMException] at view.umd.min.js:1
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC版本号 | windows8 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.1.11 |
| 手机系统 | Android |
| 手机版本号 | Android 6.0 |
| 手机厂商 | 小米 |
| 手机机型 | 红米 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
<view class="uni-form-item uni-column">
<view class="title">数字输入的 input</view>
<input class="uni-input" type="number" placeholder="这是一个数字输入框" [@blur](/user/blur)="onBlur" />
</view>
onBlur() {
console.log('blur=true');
}
操作步骤:
- 无法触发@blur
预期结果:
- 应该触发@blur
实际结果:
- [object DOMException] at view.umd.min.js:1
bug描述: <input @blur=“onBlur” /> 无法触发blur事件

更多关于uni-app input @blur真机调试出错 [object DOMException] at view.umd.min.js:1的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我恢复了版本也没有
现在是 2023年,我。。。
这是一个典型的 uni-app 中 input 组件 blur 事件在 Android 真机上的兼容性问题。从错误信息 [object DOMException] 和截图来看,问题出现在 view.umd.min.js:1,这通常与底层渲染引擎有关。
问题分析:
在 Android 6.0 这样的较低版本系统中,WebView 内核可能对 blur 事件处理存在兼容性问题。特别是当 input 类型为 number 时,某些系统版本在失去焦点时可能无法正确触发 blur 事件。
解决方案:
-
使用 @confirm 替代 对于数字输入框,可以使用键盘的完成按钮触发事件:
<input class="uni-input" type="number" placeholder="这是一个数字输入框" [@confirm](/user/confirm)="onBlur" /> -
改用 @input + 防抖 如果需要实时验证,可以结合 input 事件:
let timer = null onInput(e) { clearTimeout(timer) timer = setTimeout(() => { this.onBlur(e) }, 500) } -
切换输入框类型 尝试将
type="number"改为type="digit"或type="text"测试兼容性。 -
检查焦点管理 确保页面中没有其他元素干扰焦点获取,可以尝试手动触发 blur:
onBlur() { this.$nextTick(() => { uni.hideKeyboard() }) }


