【发布时间】:2015-01-26 14:20:51
【问题描述】:
我有一个 Meteor 模板事件,我在点击时插入 <div class="mask"></div>...
Template.dGlobalNav.events({
"click .toggle-slide-left": function() {
var mask = document.createElement("div");
mask.className = "mask";
$("body").addClass("sml-open");
document.body.appendChild(mask);
Session.set("activeNav", "sml-open");
},
...然后我想将另一个点击事件附加到这个<div class="mask"></div>...
"click .mask": function() {
$("body").removeClass(Session.get("activeNav"));
Session.set("activeNav", "");
$(".mask").remove();
}
这一切都让我留下了这个块:
Template.dGlobalNav.events({
"click .toggle-slide-left": function() {
var mask = document.createElement("div");
mask.className = "mask";
$("body").addClass("sml-open");
document.body.appendChild(mask);
Session.set("activeNav", "sml-open");
},
"click .mask": function() {
$("body").removeClass(Session.get("activeNav"));
Session.set("activeNav", "");
$(".mask").remove();
}
});
但是,"click .mask" 函数似乎根本没有触发。我怀疑这与第一个单击事件处理程序首先生成 .mask 元素的事实有关......但是经过大量绝望的谷歌搜索后,我无法找到如何(甚至是否)我可以将模板事件处理程序附加到动态插入的 HTML 元素。
我确定我在这里做错了什么(或很多事情),所以任何帮助或正确方向的点都将不胜感激。 :) 谢谢!
【问题讨论】:
标签: javascript meteor