剛剛嘗試了以下方法,發現這不起作用?javascript:使用ajax更改onClick屬性不會觸發新事件?
(使用jQuery):
function bookmark_add() {
$.ajax({
type: "POST",
url: "load.php",
data: data,
success: function(msg) {
var msg_array=msg.split("-");
var success=msg_array[0];
var bookmark_id=msg_array[1];
if(success==1) {
$('.btn_bookmark').html('Remove Bookmark');
$('.a_bookmark').attr("onClick","bookmark_remove("+bookmark_id+"), return false;");
}
}
});
}
此功能工作正常。 <a>
元素的屬性被正確更改。然而,新的事件(功能bookmark_remove
沒有被解僱,所以我認爲我的方法不起作用,因爲一些基本的誤解,可能?
有誰能告訴我,這個假設是正確的,給任何暗示爲什麼?
如果OP當前有一個'onclick'屬性綁定來添加一個書籤,你的監聽器和他的屬性都會觸發我猜。 –
這是錯誤的,因爲bookmark_id值不存在於.click內容中 –
@WampieDriessen:是的。我正在談論替換他在ajax處理程序中的代碼。點擊處理程序將是'bookmark_id'上的一個閉包。 –