输入焦点和模糊
Input focus and blur
我有这个代码https://fiddle.jshell.net/cabeqaky/26/
问题是如何在 first
div click
、input get focus 和 on
second
div click
输入不集中。怎么做? :)
HTML
<input class="inp" type="text">
<div class="box"></div>
CSS
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
$(".box").click(function(){
document.getElementsByClassName("inp")[0].focus();
})
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="inp" type="text">
<div class="box"></div>
$(document).ready(function(){
$("div.box").data("toggle", 0);
$("div.box").click(function(){
var toggle = $("div.box").data("toggle");
if(toggle === 0){
$("div.box").data("toggle", 1);
$("input.inp").focus();
} else {
$("div.box").data("toggle", 0);
$("input.inp").blur();
}
});
});
在 div 上使用 javascript 函数:
var focus = false;
function toggleFocus() {
focus = !focus;
if (focus) {
document.getElementById("focusedInput").focus();
}
}
<input class="inp" id="focusedInput" type="text">
<div class="box" onclick='toggleFocus()'></div>
您可以在 div 上使用 mousedown 事件并检查输入是否有焦点。
e.preventDefault() 用于避免在 mousedown 事件中将焦点放在 div 元素上。
$("div").on("mousedown",function(e){
e.preventDefault();
if($(".inp:focus").is(':focus'))
$(".inp").blur();
else
$(".inp").focus();
})
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input class="inp" type="text">
<div class="box"></div>
我有这个代码https://fiddle.jshell.net/cabeqaky/26/
问题是如何在 first
div click
、input get focus 和 on
second
div click
输入不集中。怎么做? :)
HTML
<input class="inp" type="text">
<div class="box"></div>
CSS
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
$(".box").click(function(){
document.getElementsByClassName("inp")[0].focus();
})
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="inp" type="text">
<div class="box"></div>
$(document).ready(function(){
$("div.box").data("toggle", 0);
$("div.box").click(function(){
var toggle = $("div.box").data("toggle");
if(toggle === 0){
$("div.box").data("toggle", 1);
$("input.inp").focus();
} else {
$("div.box").data("toggle", 0);
$("input.inp").blur();
}
});
});
在 div 上使用 javascript 函数:
var focus = false;
function toggleFocus() {
focus = !focus;
if (focus) {
document.getElementById("focusedInput").focus();
}
}
<input class="inp" id="focusedInput" type="text">
<div class="box" onclick='toggleFocus()'></div>
您可以在 div 上使用 mousedown 事件并检查输入是否有焦点。 e.preventDefault() 用于避免在 mousedown 事件中将焦点放在 div 元素上。
$("div").on("mousedown",function(e){
e.preventDefault();
if($(".inp:focus").is(':focus'))
$(".inp").blur();
else
$(".inp").focus();
})
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input class="inp" type="text">
<div class="box"></div>