event.target 在事件中未定义
event.target is undefined in events
如何在 events
中使用 each
输入值?希望我下面的代码能很好地解释你。
HTML:
<template name="UpdateAge">
{{#each Name}}
<div data-action="showPrompt">
<div>
Some content
</div>
<div>
<div>
Some content
</div>
</div>
<div>
Name : {{name}}
Age : <input type="text" name="age" value="{{age}}"/> //I need to access age values in event
</div>
</div>
{{/each}}
<template>
JS:
Template.UpdateAge.events({
'click [data-action="showPrompt"]': function (event, template) {
console.log(event.target.age.value); // TypeError: event.target.age.value is undefined
}
});
我不知道我的方法是否适合将参数值传递给 events
所以欢迎提出建议。
您使用的符号仅对表单元素有效,并且当 event.target 是表单元素时。
event.target.age.value
event.target is the element where the event occurred, event.currentTarget 是附加了事件处理程序的元素
如果您将 div
替换为 form
,并将 target
替换为 currentTarget
,那么它将起作用
event.currentTarget.age.value
here a fiddle 使用您的代码
如果事件绑定在容器上 div 那么应该从目标搜索输入,因为 event.target
会给你事件附加到的元素。
要访问 div
中的任何值,您必须首先访问该元素,然后使用该元素的属性访问所需的任何内容 - .value
在本例中。
如何在 events
中使用 each
输入值?希望我下面的代码能很好地解释你。
HTML:
<template name="UpdateAge">
{{#each Name}}
<div data-action="showPrompt">
<div>
Some content
</div>
<div>
<div>
Some content
</div>
</div>
<div>
Name : {{name}}
Age : <input type="text" name="age" value="{{age}}"/> //I need to access age values in event
</div>
</div>
{{/each}}
<template>
JS:
Template.UpdateAge.events({
'click [data-action="showPrompt"]': function (event, template) {
console.log(event.target.age.value); // TypeError: event.target.age.value is undefined
}
});
我不知道我的方法是否适合将参数值传递给 events
所以欢迎提出建议。
您使用的符号仅对表单元素有效,并且当 event.target 是表单元素时。
event.target.age.value
event.target is the element where the event occurred, event.currentTarget 是附加了事件处理程序的元素
如果您将 div
替换为 form
,并将 target
替换为 currentTarget
,那么它将起作用
event.currentTarget.age.value
here a fiddle 使用您的代码
如果事件绑定在容器上 div 那么应该从目标搜索输入,因为 event.target
会给你事件附加到的元素。
要访问 div
中的任何值,您必须首先访问该元素,然后使用该元素的属性访问所需的任何内容 - .value
在本例中。