为什么这个“简单”的“加载”功能不起作用?

时间:2012-01-28 20:13:04

标签: javascript jquery html load alert

样品:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
 <script type="text/javascript">
  $(function(){
    $('#test').load(function(){
     alert(1);
    });
  });
 </script>
  <TITLE> test load </TITLE>
</head>
<body>
<div id="test">
 TEST
</div>
</BODY>

2 个答案:

答案 0 :(得分:4)

$(window).load(function () { ... });

加载事件仅触发具有与其关联的URL的元素,如图像。但是,您可以绑定到window加载事件,该事件在页面上的所有元素都已加载时触发。

或者,您可以绑定到在准备好操作DOM时触发的document.ready事件处理程序。在jQuery中我们这样做:

$(function () {
   //run code here
});

更新

如果您向DOM添加元素,请在执行此操作之前对其进行处理:

$('#button').on('click', function () {
    $('body').append($('<div />').addClass('some-class').text('Some Text').on('click', function () { alert('Ouch! You poked me.'); }));
});

注意我在使用jQuery创建的元素上运行了一些jQuery函数,然后将它附加到DOM。

答案 1 :(得分:0)

.load本质上用作ajax函数。你试图像DOM加载事件一样使用它。