如何編寫事件處理

information

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

目錄

註冊事件處理程式

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

可使用的畫面同整體自訂的套用畫面。
kintone整體自訂的套用畫面
也可以在外掛程式設定畫面中使用。
但是,粘貼到空間內文中的應用程式中不可用。

函數

電腦/行動裝置

kintone.events.on(type,handler)

參數名稱

参数 類型 必須 說明
type 字串或陣列(字串) 必須 与事件處理程式关联的事件的類型
因事件而異。欲瞭解更多資訊,請查看相應的事件頁面。
handler 函數 必須 事件發生時運行的事件處理程式
作為參數傳遞給事件處理程式的事件物件對於每個事件都不同。欲瞭解更多資訊,請查看相應的事件頁面。
可支援Promise的事件,可透過在事件處理程式內返回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整體自訂的套用畫面
也可以在外掛程式設定畫面中使用。
但是,粘貼到空間內文中的應用程式中不可用。

函數

電腦/行動裝置

kintone.events.off(type, handler)

參數

參數名稱 指定值 必須 說明
type 字串或陣列(字串) 可省略 与事件處理程式关联的事件的類型
因事件而異。欲瞭解更多資訊,請查看相應的事件頁面。
handler 函數 可省略 事件發生時運行的事件處理程式
作為參數傳遞給事件處理程式的事件物件對於每個事件都不同。欲瞭解更多資訊,請查看相應的事件頁面。
可支援Promise的事件,可透過在事件處理程式內返回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」的物件時,可能會選擇非預期的類別。
      如果要選擇非預期的類別,請在return之前刪除「類別」屬性。
      導致此行為的事件如下所示:
      • 記錄清單畫面
        • 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