测量子模板中的目标元素并传递给全局函数
Meteor target element in child template and pass to global function
我正试图创建一个全局函数,用于在'tr'元素外部单击时删除"选定"类。但是,我使用的事件没有注册正确的目标元素,因为该元素位于子模板中。这是我的模板代码。
<template name="index">
{{> header}}
{{> navigation }}
<section id="section-main" class="container">
{{> yield}}
</section>
{{> footer}}
</section>
</template>
我将点击事件附加到"索引"模板。这是事件代码,函数"deselectRow"被调用。。。
Template.index.events({
// Event: Click anywhere to deselect row
"click": function (e) {
// console message
// console.log("you clicked a DOM element");
deselectRow(e);
}
});
然后是函数本身,其中根据当前目标检查事件,我希望它是"tr"。。。
// DESELECT Row
deselectRow = function (e) {
// Event: Click anywhere outside a table row element and remove selected class from tr
if (e.currentTarget != $('tr')) {
$('tr').removeClass('selected');
console.log('you clicked outside a table row element')
}
else {
console.log('you clicked a table row element')
}
};
我的理解是,当点击该行时,"索引"模板的事件处理程序并没有注册我已经点击了该行(即:将其用作currentTarget)。我相信这是因为行位于正在"生成"的子模板中。
如何让索引模板将"tr"识别为currentTarget?
附言:我是javascript和流星的新手。感谢你的耐心,如果我正在屠杀常见的术语或询问一些应该很容易自己解决的问题。
将事件附加到<tr>
并单击:
'click tr': function(ev){
var currentRow = ev.target;
$('tr').removeClass('selected'); // deselect any previously selected rows
currentRow.addClass('selected'); // select the one just clicked on
}
相关文章:
- 正在全局范围中查找JavaScript函数
- 在javascript函数中设置全局变量
- javascript无法重新定义函数内部的全局对象
- javascript 中的全局函数
- cordova:例外:财产'requestFileSystem'的[对象全局]不是函数
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- Javascript,从静态函数中打印全局对象
- 全局窗口热键在最小化chrome窗口时调用js函数
- 创建要在其他函数中使用的全局变量
- 从全局函数调用Ember控制器上的方法
- 保留 JQuery Vars 用于另一个函数(全局变量?)
- jQuery-函数全局变量
- jQuery - 如何使这个javascript函数全局化,以便其他函数可以访问它
- JS函数/全局变量的作用域
- Javascript;如何使函数全局可访问
- 全局在什么(函数(全局){一些代码.(这个)做
- 如何使用 (函数(全局) { .. })(这);.
- 我如何使变量newUser定义在一个函数全局
- 函数(全局){..}(this)的工作方式
- 我如何使我的变量包含在这个函数全局