流星事件地图的动态类

威尔·帕克

我正在尝试创建向导包,但似乎无法在元素上设置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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章