我点击在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>
答案 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();
});
});