2009-05-22 142 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插件。