首先监听 document
的 mousedown
事件,然后判断触发 mousedown
事件的目标元素是不是你不想让input失去焦点的那个元素,是的话就阻止默认事件。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>input输入框</title>
<script>
document.addEventListener("mousedown", function(e){
if(e.target.id!=="input"){
e.preventDefault()
}
}, false);
function divClick(){
console.log("点击了button")
}
</script>
</head>
<body>
<input id="input">
<button onClick="divClick()">按钮</button>
</body>
</html>