2010-08-18 24 views
19

Ví dụ: có một nút. Nó được bao bọc bởi <div>.Làm cách nào để gỡ lỗi các sự kiện JAVASCRIPT? Hoặc làm thế nào để làm cho tất cả các chức năng gọi dấu vết?

Khi nhấn nút này, có cuộc gọi chức năng javascript xảy ra, sau đó một chức năng khác, sau đó gọi bằng ajax đến máy chủ và nếu OK, javascript chuyển hướng trang này đến một trang khác.

Thật khó để gỡ lỗi.

Có thể "bắt" sự kiện này không? I E. để biết, chức năng nào được gọi sau khi nhấp vào nút? Nút không có thuộc tính "onclick" tức là trình xử lý sự kiện được kết nối trong javascript.

Và nếu không thể, thì có thể để theo dõi không? Đó là để xem xét tất cả các cuộc gọi chức năng, được gọi là sau đó?

Nó sẽ tốt hơn theo cách trực quan, mặc dù trong văn bản cũng tốt :)

Cảm ơn bạn đã trả lời!

Trả lời

23

Vâng - loại điều này không đơn giản như bạn muốn.

Google Chrome có bảng điều khiển "Người nghe sự kiện". Nhấp chuột phải vào nút của bạn, sau đó chọn "Kiểm tra phần tử". Đảm bảo chọn đúng phần tử, sau đó chọn bảng điều khiển "Trình nghe sự kiện" ở bên phải.

Bạn cũng có thể sử dụng từ khóa "trình gỡ lỗi" để đặt điểm ngắt trong callstack ở đâu đó. Sau đó, sử dụng trình gỡ lỗi javascript yêu thích của bạn (các công cụ tìm kiếm được tích hợp sẵn trong Safari, Google Chrome & IE8, firebug cho Firefox). Trong mỗi trong số này, có một ngăn xếp cuộc gọi cho phép bạn điều hướng thông qua ngăn xếp cuộc gọi hiện tại.

+0

Điều gì xảy ra nếu phần tử không hiển thị hoặc không phải là một phần của DOM? –

0

Bạn có thể sử dụng firebug để theo dõi mã javascript. Plugin của Firefox để theo dõi các kiểu (css), js và cũng cho phép chỉnh sửa.

Opera cung cấp dragonfly đó cũng tương tự như Firebug

-1

Kiểm tra các tính năng gỡ lỗi trong Firebug, nó sẽ cho phép bạn thêm breakpoint JavaScript và bước qua mã của bạn.

+2

Điều này cũng không trả lời được câu hỏi. – antinome

Các vấn đề liên quan