2012-04-21 39 views
37

Tôi đang xem trang Bing Maps. Tôi đang mở trình chỉnh sửa địa điểm của tôi và nhấp vào công cụ đa giác polyline trong thanh công cụ vẽ.Làm cách nào để tìm hiểu javascript nào chạy khi tôi nhấp vào một phần tử?

Tôi muốn khám phá những gì javascript chạy khi tôi nhấp vào các công cụ trong thanh công cụ vẽ.

Tôi đã xem xét html và không có sự kiện onclick được khai báo trên phần tử.

Tôi đã thực hiện tìm kiếm văn bản trên tất cả các tập lệnh được tham chiếu bởi trang, cho ID của phần tử công cụ đa giác. Điều này đã được cố gắng để tìm javascript mà gắn một sự kiện click vào phần tử, nhưng tôi đã không có trận đấu ở tất cả.

Phải có một số tập lệnh chạy khi tôi nhấp vào một công cụ. Làm cách nào để tìm hiểu xem tập lệnh nào đang thực thi khi tôi nhấp vào các div công cụ trong thanh công cụ?

Tôi không nghĩ rằng có anyway tôi có thể thiết lập điểm ngắt nếu tôi không đầu tiên biết những gì kịch bản để thiết lập chúng trên. Có anyway tôi có thể bẫy javascript chạy để khám phá những gì nó được, hoặc trong các công cụ phát triển IE F12 hoặc trong firebug?

+2

Trong firebug, bạn có thể nhấp vào nút "tạm dừng". Sau đó, nhấp vào nơi bạn muốn. Nút "tạm dừng" sẽ làm cho việc gỡ lỗi của bạn dừng ngay khi js đang thực hiện điều gì đó. –

+0

Liên quan: http://stackoverflow.com/questions/446892 –

+2

Có ít nhất một phần "trình xử lý sự kiện" trong các công cụ dành cho nhà phát triển Chrome. Có thể IE cũng có chúng, hoặc bạn có thể kiểm tra nó trong Chrome. Bên dưới bảng điều khiển hiển thị thuộc tính CSS. –

Trả lời

47

Bạn có thể xem bảng điều khiển "Trình nghe sự kiện" trong Chrome, nó có thông tin chi tiết về mỗi người nghe được đính kèm với một phần tử.

enter image description here

+0

Cảm ơn GGG, tôi đã làm điều này và có thể nhìn thấy listenerBody, nhưng số dòng là không chính xác tôi nghĩ (nó nói dòng 1 mà có vẻ là sai). Các tập tin javascript đã được rút gọn và là tất cả trên một dòng vì vậy tôi đoán đó là lý do. Có cách nào tôi có thể khám phá tên của chức năng nghe không? Hoặc tìm số dòng chính xác? –

+1

Chắc chắn rồi. Tìm kịch bản trong tab "Tài nguyên" của trình kiểm tra (bạn sẽ có thể truy cập từ bảng điều khiển Trình lắng nghe sự kiện) và nhìn vào cuối cửa sổ. Gần nơi kính lúp nằm trong ảnh chụp màn hình ở trên, bạn sẽ thấy một nút trông giống như sau: '{}'. Click vào đó, đó là một nút khá-in. Bây giờ nhìn lại bảng điều khiển Event Listeners, nó sẽ sử dụng các số dòng mới từ mã được in đẹp. –

+0

Bạn có nghĩa là tab "Tập lệnh" không? Tôi thấy nút '{}' khá in trong tab "Tập lệnh" nhưng không phải tab "Tài nguyên". Thực ra tôi đã thử định dạng tập lệnh bằng nút này trong tab "Tập lệnh" nhưng số dòng trong bảng điều khiển "Trình nghe sự kiện" không cập nhật. Có ý tưởng nào về việc cập nhật nó không? Cảm ơn –

1

Mở trình gỡ lỗi của bạn và khởi động trình thu thập thông tin. Nhấp vào những gì bạn muốn. Nhìn vào những gì profiler và xem những gì đã được gọi.

+1

Thú vị, nhưng điều đó tạo ra sự lộn xộn của 50 mục nhập profiler khi tôi đang tìm hàm 'toggle()' khi nhấp vào nút phóng to ở góc trên cùng bên phải của [trang này] (http: // wiki. dandascalescu.com/reviews/online_services/customer_and_project_management_systems). –

3

Để xác định vị trí một tiềm năng xử lý kiện cho một yếu tố cụ thể mà đã được thêm vào động cố gắng thực hiện tìm kiếm trong tất cả các nguồn classnamesid. Khi bạn đã tìm thấy trình xử lý sự kiện, bạn có thể đặt điểm ngắt và xác minh.

Google Chrome có tìm kiếm toàn cầu hoạt động tốt.

10

Trong Công cụ nhà phát triển Chrome nhấp vào tab dòng thời gian, bỏ chọn "Đang tải" và "Hiển thị", sau đó nhấp vào nút ghi (vòng tròn được lấp đầy). Kích hoạt sự kiện của bạn bằng cách nhấp vào nút và sau đó ngừng quay bằng cách nhấp vào vòng kết nối một lần nữa. Tìm sự kiện của bạn trong dòng thời gian và mở rộng sự kiện bằng cách nhấp vào mũi tên bên cạnh dòng thời gian đó. Ở bên trái nó sẽ cho bạn biết chức năng nào được gọi là sự kiện.

3

Tôi đã sử dụng công cụ gỡ lỗi Profiler trong Chrome cho mục đích này trước đây.

Mở trang web trong Chrome, F12 để mở công cụ gỡ lỗi. Trong các tab ở đầu công cụ, nhấp vào Tiểu sử.

Đảm bảo Thu thập hồ sơ CPU JavaScript được chọn và nhấn Bắt đầu, sau đó nhấp vào công cụ đa giác bạn tò mò và nhấn Dừng. Trình hồ sơ bây giờ sẽ liệt kê ra tất cả các cuộc gọi Javascript được thực hiện trong khi hồ sơ đã hoạt động.

Firebug có thể có nội dung tương tự.

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