イベントハンドラーを登録する
kintoneで発生するさまざまなイベントとイベントハンドラーを紐付けると、任意の処理を実行できます。
アプリ、スペースも含むすべての画面で利用できます。 ただし、スペースの本文に貼り付けたアプリでは利用できません。
関数
PC/モバイル
kintone.events.on(type, handler)
パラメーター名
引数 | 型 | 必須 | 説明 |
---|---|---|---|
type | 文字列または配列(文字列) | 必須 | イベントハンドラーを紐付けるイベントのタイプ イベントごとに異なります。詳しくは、それぞれのイベントページを確認してください。 |
handler | 関数 | 必須 | イベント発生時に実行されるイベントハンドラー イベントハンドラーの引数として渡されるイベントオブジェクトは、イベントごとに異なります。詳しくは、それぞれのイベントページを確認してください。 Promiseに対応したイベントの場合、イベントハンドラーの内で kintone.Promise オブジェクトをreturnすることで、非同期処理の完了を待ってからフォームの値に応じた制御ができます。 |
戻り値
なし
サンプルコード
|
|
イベントハンドラーを削除する
イベントに紐付けたハンドラーを削除します。
アプリ、スペースも含むすべての画面で利用できます。 ただし、スペースの本文に貼り付けたアプリでは利用できません。
関数
PC/モバイル
kintone.events.off(type, handler)
引数
パラメーター名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
type | 文字列または文字列の配列 | 省略可 | イベントハンドラーを紐付けるイベントのタイプ イベントごとに異なります。詳しくは、それぞれのイベントページを確認してください。 |
handler | 関数 | 省略可 | イベント発生時に実行されるイベントハンドラー イベントハンドラーの引数として渡されるイベントオブジェクトは、イベントごとに異なります。詳しくは、それぞれのイベントページを確認してください。 Promiseに対応したイベントの場合、イベントハンドラーの内で kintone.Promise オブジェクトをreturnすることで、非同期処理の完了を待ってからフォームの値に応じた制御ができます。
|
戻り値
次のいずれかが返ります。
true
:ひとつでも削除に成功した場合false
:削除対象のイベントハンドラーがひとつも見つからなかった場合
サンプルコード
|
|
注意事項
- 2017年5月版時点で確認している、アプリのJavaScriptファイルの読み込み順は次のとおりです。
同じアプリに、アプリのJavaScriptファイル、プラグインのJavaScriptファイルが適用されている場合:- アプリのJavaScriptファイル
- プラグインのJavaScriptファイル
- イベントハンドラーは追加されていくのみで、上書きされることはありません。
これはJavaScript全般の仕様で、kintone JavaScript APIでもこの仕様に準じます。
上書きしたい場合は、設定済みのイベントハンドラーを削除した後に、新しいイベントを登録してください。 - 同じアプリに同じ名前のカテゴリーが存在する場合は、キー名に「カテゴリー」を含むオブジェクトをreturnすると、意図しないカテゴリーを選択することがあります。
意図しないカテゴリーを選択する場合は、「カテゴリー」プロパティを削除してから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
- レコード一覧画面