输入焦点和模糊

时间:2017-01-01 16:26:50

标签: javascript jquery input focus blur

我有这段代码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>

4 个答案:

答案 0 :(得分:0)

&#13;
&#13;
 $(".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;
&#13;
&#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函数:

&#13;
&#13;
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;
&#13;
&#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>