Firebug đang báo cáo lỗi "trả về không hoạt động" không có vị trí (tốt, dòng 1 không có gì). Làm thế nào tôi có thể theo dõi nguồn gốc của lỗi này?Trả lại không hoạt động
return not in function
[Break on this error] return(0)
javascript:return... (line 1)
Tôi đang chạy FireBug 1.05 trên FF 2.0.0.20 trên Ubuntu.
Tôi tìm thấy một giải pháp mà làm việc (đối với cấu hình này):
var link = document.createElement('a');
link.href='/';
if (childSummary.more) {
link.onclick = capture(function(id) { follow(id); }, childSummary.id);
} else {
link.onclick = capture(function(id) { show(id); }, childSummary.id);
}
link.appendChild(document.createTextNode(name));
div.appendChild(link);
[...]
function capture(fn, val) {
return function() { fn(val); return false; };
}
Mã này là trong một vòng lặp trong đó id đã được thay đổi, cần phải có chức năng chụp ảnh.
Trước đây, href là 'javascript: return 0' và chức năng chụp không trả về trực tiếp sai, thay vì sử dụng kết quả của fn, và có một đường dẫn khi nó trả lại giá trị tương đương với true. Href đã được đánh giá gây ra lỗi.
Xác định href là '#' hoặc '' khiến tất cả các liên kết xuất hiện như đã được truy cập. Không xác định được href nào khiến cho không có liên kết nào nổi bật. Điều này có vẻ đơn giản nhất.
Có vẻ như vậy. Tôi đang sử dụng javascript để tạo ra một liên kết với một chức năng onclick, và thiết lập các thuộc tính href của liên kết. Hàm onclick trả về false khi kết thúc hoạt động của nó và tôi nghĩ điều này sẽ ngăn không cho href được đánh giá. Vì điều này chỉ bắt đầu thất bại, tôi tự hỏi liệu có điều gì đó trước đó trong hàm onclick có hoạt động khác không. – dougfelt
Chúng tôi có thể xem mã chính xác cho liên kết của bạn không?"Trở về sai" là okay bên trong của một onclick; nó ngăn chặn việc đánh giá href. Nhưng nếu bạn đang sử dụng nó theo cách này, bản thân href phải là một URL, chứ không phải JS. –
Đây là một lời giải thích tốt cho cách sử dụng onclick để ngăn không cho neo được tải: http://www.javascripttoolbox.com/bestpractices/#onclick –