我的site.html文件中有以下行。
<input type="text" name="income" id="income" onkeydown="myFunction(this.value)">
我有一个单独的site.js文件,如下所示:
if (Meteor.isClient) {
function myFunction(val) {
var income = document.getElementById("income").value;
}
var total = total + income;
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
所以基本上我需要通过blur或as-typed(onkeydown)从输入字段中获取值,并将其添加到页面上其他位置显示的局部变量“total”。由于某些原因,当我键入时,我的功能无效,我在控制台中得到“myFunction未定义”。我需要在哪里准确定义它(我的.html文件中不应使用JavaScript)。
答案 0 :(得分:1)
这是一个适用于模糊事件的版本。 标记:
<body>
{{> hello}}
</body>
<template name="hello">
<input type="text" name="income" id="income">
<h2>{{Total}}</h2>
</template>
和javascript:
if (Meteor.isClient) {
// counter starts at 0
Session.set('total', 0);
Template.hello.helpers({
Total: function() {
return Session.get('total');
},
});
Template.hello.events({
'blur #income': function (event, template) {
// increment the counter when button is clicked
Session.set('total', Session.get('total') + Number(event.target.value));
event.target.value = '';
},
});
}