나는 나의 템플릿이 이벤트 핸들러를 가지고 : 당신이 볼 수 있듯이Meteor의 다른 이벤트 핸들러에 이벤트 핸들러 함수를 호출하는 방법이 있습니까?
Template.addPlayerForm.events({
'submit form': function(e) {
e.preventDefault();
var playerName = e.target.playerName.value;
var playerScore = e.target.playerScore.value;
if (playerName !== "" && playerScore !== "") {
Meteor.call('createPlayer',playerName,playerScore);
e.target.playerName.value = '';
e.target.playerScore.value = '';
}
},
'keypress .addScore': function(e) {
if (e.which >= 48 && e.which <= 57) {
return e.charCode;
}
else if (e.which === 13 || e.keycode === 13) {
e.preventDefault();
var playerName = e.target.playerName.value;
var playerScore = e.target.playerScore.value;
if (playerName !== "" && playerScore !== "") {
Meteor.call('createPlayer',playerName,playerScore);
e.target.playerName.value = '';
e.target.playerScore.value = '';
}
}
})
의 'submit form'
과 'keypress .addScore'
모두가 거의 유사한 기능 (즉 데이터베이스에 새 컬렉션을 추가). 내 질문은 이벤트 처리기 모두에 전달할 수있는 단일 함수를 만들 수있는 방법이 있습니까? 나는 Meteor에 익숙하지 않고, 필자가 보았던 온라인 자습서를 연습하고 있습니다. 내가보기에 그것을 수정하기를 희망합니다. 도와 주셔서 감사합니다! : D
내부를 부르지 만, 내 이해 할 수 있습니다. 넌 할 수있어. 함수를 선언하고'function() {...}'을 쓰는 대신''keypress .addScore ': functionName'을 쓰면됩니다. – Rajesh