Meteor keydown/keyup 外部输入事件
Meteor keydown/keyup events outside input
阅读本帖后:
Keypress events stopped working outside of "input" elements in Meteor after update to 0.5.2
我知道 keydown/keyup 事件是不可能的,除非你将它添加到 $(document).on('keyup')..... 在 Rendered 回调中。
但是那个线程已经超过 2 年了。现在还是这样吗? input/contenteditable外加keyup/keydown事件还没有"Meteor Way"吗?
如果要在页面加载时为整个页面添加 keyup 事件,"meteor way" 是使用 Meteor.startup
:
Meteor.startup(function () {
$(document).on('keyup', function (e) {...});
}
你的问题答案是肯定的,照样可以做到。您仍然可以通过在 onCreated
或 onRendered
方法中添加事件监听器来为单个模板创建关键事件监听器,如下所示:
Template.myTemplate.onCreated(() => {
$(document).on('keyup', (e) => {
console.log('A key has come up.');
});
});
您不必按照当前接受的答案的建议在 Meteor.startup
中执行此操作。
要销毁事件,使其不再在此模板中时不会持续存在:
Template.myTemplate.onDestroyed(() => {
$(document).off('keyup');
});
阅读本帖后: Keypress events stopped working outside of "input" elements in Meteor after update to 0.5.2
我知道 keydown/keyup 事件是不可能的,除非你将它添加到 $(document).on('keyup')..... 在 Rendered 回调中。
但是那个线程已经超过 2 年了。现在还是这样吗? input/contenteditable外加keyup/keydown事件还没有"Meteor Way"吗?
如果要在页面加载时为整个页面添加 keyup 事件,"meteor way" 是使用 Meteor.startup
:
Meteor.startup(function () {
$(document).on('keyup', function (e) {...});
}
你的问题答案是肯定的,照样可以做到。您仍然可以通过在 onCreated
或 onRendered
方法中添加事件监听器来为单个模板创建关键事件监听器,如下所示:
Template.myTemplate.onCreated(() => {
$(document).on('keyup', (e) => {
console.log('A key has come up.');
});
});
您不必按照当前接受的答案的建议在 Meteor.startup
中执行此操作。
要销毁事件,使其不再在此模板中时不会持续存在:
Template.myTemplate.onDestroyed(() => {
$(document).off('keyup');
});