【问题标题】:Dynamic class for Meteor Event MapMeteor Event Map 的动态类
【发布时间】:2014-08-18 17:06:23
【问题描述】:

我正在尝试创建一个向导包,但似乎无法在元素上设置点击事件。

我希望使用包的人能够定义他们的下一个和上一个按钮类值,然后在单击具有这些类的元素时应用一个事件。

当我使用静态类值时它工作正常,但如果我尝试使用我在初始化向导时定义的那些,它会因意外的令牌值而失败。我已经尝试在事件函数中将类打印到控制台,并且打印效果很好。

这工作正常,但使用静态类名

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();
    }
  }
});

【问题讨论】:

    标签: jquery events meteor


    【解决方案1】:

    你的$(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();
    
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多