簡體   English   中英

jQuery click事件沒有響應

[英]jQuery click event is not responding

jQuery click事件有一個簡單的問題,我無法解決。

這是代碼:

$('document').ready(function() {
    var links = $('.brandLinks li a');
    console.log(links.length); // there are total 24 items are there

    for(var i = 0; i < links.length; i++) {
        links[i].click(function(e){
            console.log('click.');
        });
    }
});

您不需要循環。 大多數jQuery方法將對匹配集中的每個項目進行操作。 另外,不應引用document 您要選擇實際的document對象。 如果使用引號,則jQuery將查找標記名稱為“ document”的元素:

$(document).ready(function() {
    $('.brandLinks li a').click(function () {
        console.log('click');
    });
});

旁注 :在這種情況下,字符串“ document”與任何內容都不匹配實際上並不重要。 ready方法將對任何jQuery對象進行操作,無論其包含什么內容(即使它為空)。 不過,對於其他人(實際上是將來閱讀您的代碼)的其他人來說,選擇實際的document對象會更有意義。 由於這些原因,我通常使用替代形式:

$(function () {
    // This is the same as $(document).ready(function () {});
});

您不需要for循環來綁定事件。 您可以一次綁定整個元素。 link[index]是本機JavaScript元素。 您應該使用$(link[k]).click

$(document).ready(function() { 
    var links = $('.brandLinks li a'); 
        console.log(links.length); // there are total 24 items are there 
    links.click(function(){
           console.log('click.'); 
    });         
}); 

嘗試這個

$(document).ready(function() {
var links = $('.brandLinks li a');
console.log(links.length); // there are total 24 items are there

for(var i = 0; i < links.length; i++) {
    links[i].click(function(e){
        console.log('click.');
    });
}
});

您的代碼存在的問題是您沒有注意關閉,請檢查

以下應該工作:

var link = links[i];
 $(link).click((function(value) {
                    return function() {
                      //   
                    };
                })(link));

暫無
暫無

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

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