函数描述: 判断是否满足触发器条件可运行其回调函数。
canActivateTrigger(trigger, element, index, elementArray)
trigger
:必选参数,表示要判断的触发器对象。element
:必选参数,表示要判断的元素对象。index
:可选参数,表示元素在数组中的索引位置。elementArray
:可选参数,表示元素所在的数组。返回值为 Boolean
类型,表示是否满足触发器条件。若满足条件则返回 true
,否则返回 false
。
canActivateTrigger
函数用于判断是否满足触发器条件可运行其回调函数,如果满足条件,Yuka js库将执行该触发器的回调函数。
触发器对象有以下属性:
when
:触发条件,表示何时运行回调函数。if
:回调函数的前置条件,表示只有当条件满足时才运行回调函数。interval
:回调函数的时间间隔设置,表示回调函数执行之间需要等待多少毫秒。canActivateTrigger
函数根据条件,对触发时间、元素类型和设置的条件进行判断。如果所有条件都满足,就可以执行回调函数。
// 判断是否触发 click 事件,元素类型是 a 标签,前置条件为当前时间是偶数秒
let trigger = {
when: 'click',
if: () => new Date().getSeconds() % 2 === 0,
elementTypes: ['a']
}
let element = document.querySelector('a')
if (canActivateTrigger(trigger, element)) {
// 符合条件,可以执行回调函数
trigger.callback()
}