我有这段代码https://fiddle.jshell.net/cabeqaky/26/
问题是如何在(GridLayout(2,2))
div first
上进行,输入得到关注
click
div second
输入变得不专心。怎么做? :)
HTML
click
CSS
<input class="inp" type="text">
<div class="box"></div>
答案 0 :(得分:0)
$(".box").click(function(){
document.getElementsByClassName("inp")[0].focus();
})
&#13;
.box{
width:50px;
height:50px;
background-color:green;
margin-top:10px;
border:1px black solid;
cursor:pointer
}
&#13;
<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>
&#13;
答案 1 :(得分:0)
$(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();
}
});
});
答案 2 :(得分:0)
在div上使用javascript函数:
var focus = false;
function toggleFocus() {
focus = !focus;
if (focus) {
document.getElementById("focusedInput").focus();
}
}
&#13;
<input class="inp" id="focusedInput" type="text">
<div class="box" onclick='toggleFocus()'></div>
&#13;
答案 3 :(得分:0)
您可以在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>