如何編寫事件處理

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

註冊事件處理程式

通過將 kintone 中發生的各種事件與事件處理程式相關聯,可以進行任意處理。

它可在所有畫面上使用,包括應用程式與空間。 但是,粘貼到空間內文中的應用程式中不可用。

函數

電腦/行動裝置

kintone.events.on(type, handler)

參數名稱

参数 類型 必須 說明
type 字串或陣列 (字串) 必須 与事件處理程式关联的事件的類型
它因事件而異。欲瞭解更多資訊,請查看相應的事件頁面。
handler 函數 必須 事件發生時運行的事件處理程式
作為參數傳遞給事件處理程式的事件物件對於每個事件都不同。欲瞭解更多資訊,請查看相應的事件頁面。
可支援 Promise 的事件,可以等待異步進程完成,然後再通過在事件處理程式返回 kintone.Promise 物件來控制表單的值。

返回值

示例代碼

1
2
3
4
5
6
7
8
kintone.events.on('app.record.index.show', (event) => {
  console.log(event);
});

// 如果要為多個事件註冊相同的事件處理程式
kintone.events.on(['app.record.create.show', 'app.record.edit.show'], (event) => {
  console.log(event);
});

刪除事件處理程式

刪除與事件關聯的處理程式。

它可在所有畫面上使用,包括應用程式與空間。 但是,粘貼到空間內文中的應用程式中不可用。

函數

電腦/行動裝置

kintone.events.off(type, handler)

參數

參數名稱 指定值 必須 說明
type 字串或陣列 (字串) 可省略 与事件處理程式关联的事件的類型
它因事件而異。欲瞭解更多資訊,請查看相應的事件頁面。
handler 函數 可省略 事件發生時運行的事件處理程式
作為參數傳遞給事件處理程式的事件物件對於每個事件都不同。欲瞭解更多資訊,請查看相應的事件頁面。
可支援 Promise 的事件,可以等待異步進程完成,然後再通過在事件處理程式返回 kintone.Promise 物件來控制表單的值。
  • 如果省略 handler,則將刪除 type 指定類型的所有事件處理程式。
  • 如果還省略了 type(不編寫任何參數),則將刪除所有類型的所有事件處理程式。

    返回值

    傳回以下選項之一:

    • true:如果您成功刪除了其中之一
    • false:如果未找到要刪除的事件處理程式

    示例代碼

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    const handler = (event) => {
      console.log(event);
    };
    kintone.events.on('app.record.index.show', handler);
    
    // 從指定的事件類型中刪除指定的處理程式
    kintone.events.off('app.record.index.show', handler);
    
    // 從指定的事件類型中刪除所有處理程式
    kintone.events.off('app.record.index.show');
    
    // 從所有事件類型中刪除所有處理程式
    kintone.events.off();

    注意事項

    • 截至 2017 年 5 月,為應用載入 JavaScript 檔案的順序如下:
      如果同一應用套用了應用 JavaScript 和外掛程式 JavaScript 檔案:
      1. 應用程式JavaScript檔案
      2. 外掛程式 JavaScript 檔案
    • 事件處理程式僅添加,不會被覆蓋。
      這是通用的 JavaScript 規範,kintone 的 JavaScript API 也遵循該規範。
      如果要重寫它,請刪除配置的事件處理程式並註冊一個新事件。
    • 如果同一應用中存在同名的類別,則返回鍵名稱中包含「category」的物件可能會選擇非預期的類別。
      如果要選擇不需要的類別,請在返回之前刪除 「類別」屬性。
      導致此行為的事件如下所示:
      • 記錄清單畫面
        • app.record.index.edit.submit
        • app.record.index.edit.change.欄位代碼
      • 新增記錄畫面
        • app.record.create.show
        • app.record.create.submit
        • app.record.create.change.欄位代碼
        • mobile.app.record.create.show
        • mobile.app.record.create.submit
        • mobile.app.record.create.change.欄位代碼
      • 編輯記錄畫面
        • app.record.edit.show
        • app.record.edit.submit
        • app.record.edit.change.欄位代碼
        • mobile.app.record.edit.show
        • mobile.app.record.edit.submit
        • mobile.app.record.edit.change.欄位代碼
      • 記錄詳情畫面
        • app.record.detail.process.proceed