我有一種情況,我需要使用jquery更改圖像的src。我知道div的ID,我知道文件名的格式(我需要將_over更改爲_main),但圖像的src是唯一的唯一標識符。使用.html()中斷.click()和.hover()事件
我的解決方案是使用.html()和.replace來更改圖像,這工作。但是,它具有打破與圖像相關的任何.hover()和.click()事件的不受歡迎的副作用。有沒有辦法恢復這些事件或更好的方式來改變IMG SRC,不打破它們(銘記我只能通過src識別圖像)?
我有一種情況,我需要使用jquery更改圖像的src。我知道div的ID,我知道文件名的格式(我需要將_over更改爲_main),但圖像的src是唯一的唯一標識符。使用.html()中斷.click()和.hover()事件
我的解決方案是使用.html()和.replace來更改圖像,這工作。但是,它具有打破與圖像相關的任何.hover()和.click()事件的不受歡迎的副作用。有沒有辦法恢復這些事件或更好的方式來改變IMG SRC,不打破它們(銘記我只能通過src識別圖像)?
看到$.live
它打破了,因爲你要替換的元素,因此,他們正在失去他們的點擊處理程序。如果您使用.live
而不是.bind
(或其簡寫形式,如.click
),它也可以用於所有未來的元素。
而不是做
$('selector').click(function() {})
的做這樣的
$('selector').live('click', function() {})
這將preserv的事件,即使對象被改變。
你應該只是改變src屬性而不是使用html(),它本質上是取代整個img標籤。
$("#divID img").attr("src", "new/image/path");
如果沒有,你應該使用live保存附加事件。
解決了它,謝謝。 – user1031348