簡體   English   中英

jQuery-附加鏈接不起作用

[英]JQuery - Appended Links don't work

我使用Jquery 1.3和PHP創建了一個動態列表選擇器腳本,該腳本發送JSON AJAX請求並返回可供選擇的項目列表。 AJAX調用可以完美地返回一組項目,我使用Jquery將它們作為無序列表附加到空容器DIV中。 該過程的這一部分按預期工作。

問題來自以下事實:從該項目列表中,我將它們繪制為鏈接,其單擊由rel屬性處理。 這是一個例子:

<a rel="itemPick" id="5|2" href="#">This is the link</a>

JQUERY處理程序如下所示:

$('a[rel=itemPick]').click(function () { code here... });

這些鏈接和單擊處理程序在頁面加載時工作良好,但是將它們附加到容器DIV時,不會拾取click事件。 我不想再次刷新整個HTML頁面,所以除了append()之外,我還需要做些其他事情來使JQUERY識別新添加的鏈接嗎?

當您使用jQuery.click方法時,它將查找頁面上當前存在的所有“ a”元素。 然后,當您添加新的“ a”元素時,它不知道該單擊事件處理程序。

因此,jQuery中提供了一個新的事件模型,該模型允許您將函數綁定到所有當前和將來的元素,稱為Live Events 您可以使用與正常事件綁定相同的方式來使用實時事件,但是它們將適用於所有以后指定的元素。 因此,您只需將綁定邏輯切換為:

$('a[rel=itemPick]').live('click', function () {
    //code here...
})
$('a[rel=itemPick]').live("click", function (){ code here... });

添加鏈接后,您是否綁定事件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM