Javascript 为什么blur()可以';不行? 测试 $('#target').blur(函数(){ 警惕(‘欢迎,孩子’); }) 触发处理器

Javascript 为什么blur()可以';不行? 测试 $('#target').blur(函数(){ 警惕(‘欢迎,孩子’); }) 触发处理器,javascript,jquery,Javascript,Jquery,jquery.js在我的js文件中,我将上面的代码放在一个名为test.html的文件中。当我单击第一个输入文本框,然后单击其他位置时。没有弹出警告框?当浏览器在HTML中读取脚本时,脚本会立即运行,甚至在它查看主体之前。脚本运行时,#target元素还不存在 一种解决方案是将脚本移动到的底部。另一种方法是使用jQuery的DOM就绪函数: <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

jquery.js在我的js文件中,我将上面的代码放在一个名为test.html的文件中。当我单击第一个输入文本框,然后单击其他位置时。没有弹出警告框?

当浏览器在HTML中读取脚本时,脚本会立即运行,甚至在它查看主体之前。脚本运行时,
#target
元素还不存在

一种解决方案是将脚本移动到
的底部。另一种方法是使用jQuery的DOM就绪函数:

      <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
     <script type="text/javascript" src="js/jquery.js"></script>
     <script type="text/javascript">
   $('#target').blur(function() {
 alert('welcome,boy.');
  })
</script>
   </head>

 <body>
  <form>
<input id="target" type="text" value="Field 1" />
 <input type="text" value="Field 2" />
  </form>
 <div id="other">
  Trigger the handler
</div>

</body>
</html>

在这种情况下,您仍然可以将脚本放在头部,脚本本身将运行。但是,它会推迟运行
$(function(){/*code here*/})
包装中的部分,直到浏览器读取了所有HTML并构建了它的DOM元素树。

当浏览器在HTML中读取脚本时,脚本会立即运行,甚至在它查看主体之前。脚本运行时,
#target
元素还不存在

一种解决方案是将脚本移动到
的底部。另一种方法是使用jQuery的DOM就绪函数:

      <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
     <script type="text/javascript" src="js/jquery.js"></script>
     <script type="text/javascript">
   $('#target').blur(function() {
 alert('welcome,boy.');
  })
</script>
   </head>

 <body>
  <form>
<input id="target" type="text" value="Field 1" />
 <input type="text" value="Field 2" />
  </form>
 <div id="other">
  Trigger the handler
</div>

</body>
</html>
在这种情况下,您仍然可以将脚本放在头部,脚本本身将运行。但是,它会推迟运行
$(函数(){/*code here*/})
包装器中的部分,直到浏览器读取了所有HTML并构建了它的DOM元素树。

这是因为当代码执行时#目标不存在。试试这个:

$(function() {
    $('#target').blur(function() {
        alert('welcome,boy.');
    });
});

$(函数(){
$('#target').blur(函数(){
警惕(‘欢迎,孩子’);
});
});
这是因为当代码执行时,目标不存在。试试这个:

$(function() {
    $('#target').blur(function() {
        alert('welcome,boy.');
    });
});

$(函数(){
$('#target').blur(函数(){
警惕(‘欢迎,孩子’);
});
});

@mikeonrails:+1'd,无论如何。一个好的答案就是一个好的答案:)与@mikeonrails的答案类似,但你的答案解释得更多。@mikeonrails:+1'd,无论如何。一个好的答案就是一个好的答案:)类似于@mikeonrails的答案,但你的答案解释得更多。