Kích hoạt sự kiện

Hình ảnh trực quan 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ụ: người dùng nhấp vào một biểu đồ hoặc có thể 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ể là với dữ liệu dành riêng cho sự kiện đó.

Mỗi hình ảnh trực quan sẽ 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 kích hoạt mỗi sự kiện, ý nghĩa của thông tin đó và thông tin mà sự kiện đó gửi đến trình xử lý sự kiện (ví dụ: xem hình ảnh biểu đồ tổ chức). Trang này mô tả cách người tạo hình ảnh 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à bất kỳ hình ảnh trực quan có thể chọn nào sẽ kích hoạt: sự kiện chọn. Tuy nhiên, hành vi và ý nghĩa của sự kiện này được xác định bởi mỗi hình ảnh trực quan.

Nếu một hình ảnh trực quan chưa sẵn sàng cho 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, hình ảnh trực quan sẽ kích hoạt: sự kiện sẵn sàng. Hành vi chính xác và ý nghĩa của sự kiện này được xác định trong mục Sự kiện sẵn sàng.

Điều quan trọng cần lưu ý là các sự kiện API hình ảnh sẽ riêng biệt và khác biệt với các sự kiện DOM tiêu chuẩn.

Nội dung

Kích hoạt sự kiện

Để kích hoạt một sự kiện từ hình ảnh trực quan của bạn, 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). Một bản đồ (tên/giá trị) chi tiết sự kiện cụ thể (không bắt buộc).

Ví dụ sau đây cho thấy cách một hình ảnh trực quan hoá sự kiện đã 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 lại kỹ lưỡng mọi sự kiện mà bạn kích hoạt.

Sự kiện chọn

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

  1. Kích hoạt sự kiện có tên "select" (chọn) 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ư được mô tả trong phần tài liệu được liên kết. Phương thức này sẽ trả về các 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ư được mô tả trong phần tham chiếu. Ngoài ra, hãy xem trang xử lý sự kiện để tìm hiểu cách xử lý sự kiện.

Sự kiện sẵn sàng

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

Nhìn chung, những hình ảnh trực quan hiển thị sự kiện "ready" được thiết kế với các thông số kỹ thuật sau:

  • Sự kiện sẵn sàng không chuyển bất kỳ thuộc tính nào cho trình xử lý (trình xử lý hàm của bạn không được mong đợi bất kỳ thông số nào được chuyển vào đó).
  • Hình ảnh trực quan sẽ kích hoạt sự kiện sẵn sàng sau khi hình ảnh sẵn sàng cho tương tác. Nếu quá trình vẽ của hình ảnh trực quan không đồng bộ, quan trọng là sự kiện đó được kích hoạt khi 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 phát hiện được sự kiện đó.
  • Khi gọi các phương thức tương tác trước khi sự kiện sẵn sàng được kích hoạt, bạn sẽ gặp rủi ro rằng các phương thức này sẽ không hoạt động đúng cách.

Theo quy ước, các hình ảnh trực quan không kích hoạt sự kiện "sẵn sàng" đã 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