我正在尝试创建向导包,但似乎无法在元素上设置click事件。
我希望使用该程序包的人能够定义其下一个和上一个按钮类的值,然后在单击具有这些类的元素时应用事件。
当我使用静态类值时,它工作正常,但如果我尝试使用初始化向导时定义的值,它将失败,并出现意外的令牌值。我尝试将类打印到事件功能内的控制台上,并且它们可以正常打印。
这可以正常工作,但使用静态类名
Template.wizard.events({
"click .btn-prev": function (event) {
event.preventDefault();
this.wizard.previous();
}
});
这不会unexpected token +
出错
Template.wizard.events({
"click ." + this.wizard.prevClass: function (event) {
event.preventDefault();
this.wizard.prev();
}
});
然后,我尝试通过执行类似的操作来解决该问题,但是我的if语句似乎总是返回false。
Template.wizard.events({
'click': function (event) {
event.preventDefault();
if ($(this).hasClass(this.wizard.nextClass)){
this.wizard.next();
}
}
});
应该是你$(this)
什么?您正在点击的回调中:)
如果您想在单击后找到某些内容,则应尝试使用事件当前目标(不是目标,它们可能会有所不同)或点击的第二个参数(模板):
Template.wizard.events({
'click': function (e, tmpl) {
event.preventDefault();
console.log(e.currentTarget);
console.log(tmpl);
console.log(tmpl.find(this.wizard.nextClass);
if( e.currentTarget.className === this.wizard.nextClass )
this.wizard.next();
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句