[英]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.