2009-05-22 92 views
1

我的网页内容在页面加载时都从服务器发送,并且通过AJAX频繁更新。当它初始化加载时,我使用$(function(){})根据服务器消息进行绑定和更新。我希望能够在重新填充时运行代码,尤其是重新绑定单击事件并使用服务器消息进行更新。在将页面添加到页面的Html时运行javascript

有没有办法做到这一点,而不做$ .getScript分离?我对使用AJAX($('el')。html(...))填充屏幕时运行javascript的方式有些困惑,因为我经常在包含javascript的情况下使用它,并且它可以工作。任何人都可以清楚这是如何工作的?

回答

2

使用live绑定新添加的DOM节点(Ajax或其他)上的事件。

您将包含的脚本添加到DOM时运行。

看到这个example

+0

$ .live()不重新绑定任何东西,它是一个全局窗口侦听器,只在实例化时绑定一次。 – duckyflip 2009-05-22 13:47:03

2

如果您希望将事件应用于新元素,则使用jQuery事件,您将使用.live()方法。

但是,jQuery 1.3不支持模糊,焦点,mouseenter,mouseleave,更改和提交事件作为直播活动。 (改变,提交和模糊/聚焦在jQuery 1.4的roadmap上)

如果你想绑定任何不支持.live()的事件,你可以使用liveQuery插件。