Sự kiện kích hoạt

Hình ảnh của bạn có thể kích hoạt các sự kiện mà trang lưu trữ có thể đăng ký nhận. Sự kiện có thể được kích hoạt bởi hành động của người dùng: ví dụ như người dùng nhấp vào một biểu đồ hoặc có thể là nội bộ (ví dụ: kích hoạt một sự kiện mỗi 10 giây). Bạn có thể đăng ký một phương thức JavaScript để gọi bất cứ khi nào một số sự kiện nhất định được kích hoạt, có thể với dữ liệu dành riêng cho sự kiện đó.

Mỗi hình ảnh xác định các sự kiện riêng của nó và tài liệu cho hình ảnh đó phải mô tả thời điểm mỗi sự kiện được kích hoạt, ý nghĩa và thông tin mà hình ảnh đó gửi đến trình xử lý sự kiện của bạn (ví dụ: xem hình ảnh trực quan trên biểu đồ tổ chức). Trang này mô tả cách một người tạo hình ảnh trực quan có thể kích hoạt sự kiện. Để tìm hiểu cách khách hàng có thể đăng ký nhận sự kiện, hãy xem trang Xử lý sự kiện.

Có một sự kiện mà mọi hình ảnh có thể chọn sẽ kích hoạt, đó là sự kiện được chọn. Tuy nhiên, hành vi và ý nghĩa của sự kiện này được xác định theo từng hình ảnh trực quan.

Nếu một hình ảnh chưa sẵn sàng để tương tác ngay sau khi phương thức draw trả về quyền kiểm soát cho người dùng, thì hình ảnh đó sẽ kích hoạt: sự kiện đã sẵn sàng. Hành vi và ý nghĩa chính xác của sự kiện này được định nghĩa trong phần Sự kiện sẵn sàng.

Điều quan trọng cần lưu ý là các sự kiện của Visual API (API Hình ảnh) phải tách biệt và khác biệt với các sự kiện DOM chuẩn.

Nội dung

Kích hoạt sự kiện

Để kích hoạt một sự kiện qua hình ảnh trực quan, hãy gọi hàm google.visualization.events.trigger(). Hàm này yêu cầu các thông số sau:

  1. Hình ảnh nguồn (thường là giá trị this).
  2. Tên sự kiện (chuỗi).
  3. Chi tiết sự kiện (Đối tượng). Bản đồ (tên/giá trị) (không bắt buộc) của thông tin chi tiết về sự kiện cụ thể.

Ví dụ sau đây cho thấy cách hình ảnh trực quan gửi sự kiện được chọn:

MyVisualization.prototype.onclick = function(rowIndex) {
  this.highlightRow(this.selectedRow, false); // Clear previous selection
  this.highlightRow(rowIndex, true); // Highlight new selection

  // Save the selected row index in case getSelection is called.
  this.selectedRow = rowIndex;

  // Fire a select event.
  google.visualization.events.trigger(this, 'select', {});
};

Các trang lưu trữ có thể đăng ký nhận sự kiện của bạn bằng cách gọi google.visualization.events.addListener() hoặc google.visualization.events.addOneTimeListener(). Hãy nhớ ghi chép kỹ mọi sự kiện mà bạn kích hoạt.

Chọn sự kiện

Sự kiện "chọn" là một sự kiện chuẩn do nhiều hình ảnh trực quan gửi ra để phản hồi một lượt nhấp chuột của người dùng. Nếu chọn kích hoạt một sự kiện để phản hồi lượt nhấp chuột, bạn nên triển khai sự kiện "select" theo cách chuẩn như mô tả dưới đây:

  1. Kích hoạt một sự kiện có tên "select" khi người dùng chọn một số dữ liệu trong hình ảnh trực quan. Sự kiện này không gửi bất kỳ đối số nào đến các hàm nghe.
  2. Hiển thị phương thức getSelection() như mô tả trong phần tài liệu được liên kết. Phương thức này sẽ trả về chỉ mục của các phần tử dữ liệu mà người dùng đã chọn.
  3. Hiển thị một phương thức setSelection() như mô tả trong phần tài liệu tham khảo. Ngoài ra, hãy xem trang xử lý sự kiện để tìm hiểu cách xử lý các sự kiện.

Sự kiện sẵn sàng

Mọi hình ảnh đều phải kích hoạt một sự kiện "sẵn sàng" hoạt động theo cách tiêu chuẩn để cho nhà phát triển biết khi nào hình ảnh đó sẵn sàng cho việc xử lý (được gọi là các phương thức). (Tuy nhiên, không có yêu cầu tuyệt đối nào bắt buộc hình ảnh trực quan phải hoạt động theo cách này. Hãy xem tài liệu về hình ảnh trực quan của bạn).

Nhìn chung, những hình ảnh trực quan hiển thị sự kiện "sẵn sàng" được thiết kế theo quy cách sau:

  • Sự kiện sẵn sàng không truyền bất kỳ thuộc tính nào đến trình xử lý (trình xử lý hàm của bạn không nên kỳ vọng sẽ truyền bất kỳ tham số nào đến trình xử lý).
  • Hình ảnh trực quan phải kích hoạt sự kiện sẵn sàng sau khi hình ảnh đó đã sẵn sàng để tương tác. Nếu bản vẽ hình ảnh trực quan là không đồng bộ, thì điều quan trọng là sự kiện được kích hoạt khi các phương thức tương tác thực sự có thể được gọi, chứ không chỉ khi phương thức draw kết thúc.
  • Bạn nên thêm trình nghe vào sự kiện này trước khi gọi phương thức draw, vì nếu không sự kiện có thể được kích hoạt trước khi trình nghe được thiết lập và bạn sẽ không nắm bắt được sự kiện đó.
  • Nếu gọi các phương thức tương tác trước khi kích hoạt sự kiện sẵn sàng, thì bạn có thể gặp rủi ro là các phương thức này sẽ không hoạt động đúng cách.

Theo quy ước, những hình ảnh trực quan không kích hoạt sự kiện "sẵn sàng" sẽ sẵn sàng tương tác ngay sau khi phương thức draw kết thúc và trả về quyền kiểm soát cho người dùng.

Thông tin khác