2015-01-15 74 views

回答

0

如果你想添加一個keyup事件在網頁加載整個頁面,在「流星方式」是使用Meteor.startup

Meteor.startup(function() { 
    $(document).on('keyup', function (e) {...}); 
} 
+0

,如果我想在一個模板只能添加一個關鍵事件,並允許重要事件這是偉大的,但什麼甚至在不關注輸入/可編輯元素時發生? – Mcope

+0

這是不可能的。請參閱:http://api.jquery.com/keydown/「當用戶第一次按下鍵盤上的鍵時,keydown事件被髮送到一個元素。它可以附加到任何元素,但事件只發送給具有焦點的元素可聚焦元素可以在不同瀏覽器之間變化,但表單元素總是可以獲得焦點,因此這種事件類型是合理的候選人。 – stubailo

12

的回答你的問題是肯定的,它仍然可以做那樣。您還可以通過在onCreatedonRendered方法,像這樣添加事件偵聽器讓單模板關鍵事件監聽器:

Template.myTemplate.onCreated(() => { 
    $(document).on('keyup', (e) => { 
     console.log('A key has come up.'); 
    }); 
}); 

你不必做這件事Meteor.startup由目前接受的答案的建議。

破壞事件,以便它不堅持當這個模板內不再:

Template.myTemplate.onDestroyed(() => { 
    $(document).off('keyup'); 
}); 
+0

除了在事件仍然存在之後模板被銷燬 – Soren

+0

當然,但是可以在模板被銷燬時清除。 – Nate

+0

但是既然你提到了它,我在這裏添加了。 – Nate