2017-01-01 103 views
0

我有这样的代码https://fiddle.jshell.net/cabeqaky/26/ 的问题是,如何使上first DIV click,输入获得焦点和 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 
} 

回答

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>

+0

这是,谢谢你;) – art

+0

@art欢迎您和新年快乐:) – Deep

+0

但这里有一个问题,它的工作只是与jquery 2.1.1,对不对? – art

0

$(".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>

+0

没有,这是行不通的,阅读说明再次PLS – art

+0

@art我的回答是编辑 – hubman

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(); 
     } 
    }); 
}); 
+0

没有,这是行不通的,阅读说明再次PLS – art

+0

你把JQuery的文库在头部等: –

+0

没有 –

0

使用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>

+0

,这是不工作,请再次阅读说明,请https://小提琴 – art

+0

.jshell.net/4syu2r1g/ – Roge

+0

您必须根据需要调整以前的代码。 – Roge