使用jQuery焦点和模糊来显示和隐藏消息

时间:2012-02-09 05:52:16

标签: javascript jquery html focus onblur

我点击在focus上设置textbox,一旦我设置了焦点,我就会尝试显示一条简单的消息。然后在blur上该消息消失。

这是我的代码:如果我点击textbox它会显示消息但是如果我点击按钮它就不会像我想象的那样设置焦点。

<script>
$(document).ready(function(){    
  $("#clicker").click(function(){        
    $("#T1").focus(function(){            
      $("#myFocus").show();        
    });     
  });        

  $("#T1").blur(function(){        
    $("#myFocus").hide();    
  });
});
</script>

<body>
<div id="clicker" style="cursor:pointer; border:1px solid black; width:70px;">
  Click here!
</div>
<br /><br />
<input id="T1" name="Textbox" type="text" />
<div id="myFocus" style="display: none;">focused!</div>

2 个答案:

答案 0 :(得分:4)

您需要触发焦点事件,而不是定义它。试试这个:

<script>
$(function() { // Shorthand for $(document).ready(function() {
      $('#clicker').click(function() {
            $('#T1').focus(); // Trigger focus
      });

      $('#T1').focus(function() { // Define focus handler
            $('#myFocus').show();
      }).blur(function() {
            $('#myFocus').hide();
      });
});
</script>

答案 1 :(得分:1)

问题在于:

$("#T1").focus(function(){            
      $("#myFocus").show();        
});

您应该在focus()没有附加focus(function(){...}

的回调的情况下触发事件

固定代码:

$(document).ready(function(){    
  $("#clicker").click(function(){        
        $('#T1').focus();
  });        

  $("#T1").blur(function(){        
      $("#myFocus").hide();    
  })     .focus(funcion(){
              $("#myFocus").show();        
          });
});
相关问题