我正在添加一个像这样的监听器:
window.addEventListener('native.showkeyboard', function (e) {
...
...
});
我为此编写了一个单元测试,所以我想触发这个事件。我在做:
window.trigger('native.showkeyboard');
但我最终错误地说道:
undefined is not a function
如何手动触发此事件?
修改
我也尝试过:
$(window).trigger('native.showkeyboard');
但是处理程序没有运行,因为它没有在jquery中注册...
答案 0 :(得分:12)
如果您通过jQuery
触发事件,那么事件应该通过jQuery
附加 - 请参阅@ fredericHamidi的评论。
$(window).on('native.showkeyboard', function (e) {
.........
});
$(window).trigger('native.showkeyboard');
或者,如果你使用普通香草JS,就这样做:
window.addEventListener('native.showkeyboard', function (e) {
........
});
window.dispatchEvent( new Event('native.showkeyboard') );
答案 1 :(得分:0)
你没有使用jQuery对象......这将是你的问题。
window.trigger('native.showkeyboard'); //<-- window is not a jQuery object
你需要把它包起来
$(window).trigger('native.showkeyboard');