1

我正在尝试绑定与正则表达式匹配的所有元素的单击事件。在 jquery 中有一种方法可以做到这一点,但我不确定如何将代码转换为流星框架。这是我正在处理的代码:

https://github.com/dnprock/leaderboard/blob/master/leaderboard.js

$("input:regex(class, inc*)").click(function(e) {
    var tag = $(e.currentTarget);
    ...
});

我正在.inc*使用 jquery 绑定到类。有语法'click input.inc*'吗?

4

3 回答 3

4

只需使用 CSS 选择器开头:

'click input[class^="inc"]': function () {
}

编辑:

包含:

'click input[class*="inc"]': function () {
}

以。。结束:

'click input[class$="inc"]': function () {
}
于 2013-08-06T13:44:43.660 回答
0

由于反应性,您需要将事件绑定到文档。

$(document).on("click", "input:regex(class, inc*)", function(e) {
  var tag = $(e.currentTarget);
});
于 2013-08-05T05:51:56.680 回答
0

不能说 Meteor 是否支持这些类型的语法。但作为另一种解决方法,我建议您使用自定义data属性来指定要增加的分数点。见文档。可以使用 jQuery 在 jQuery 中检索它们.data(key)

例如将data-score属性添加到<button>标签为

<input type="button" class="inc" data-score="5" value="Give 5 points" />
<input type="button" class="inc" data-score="10" value="Give 10 points" />.

并像这样使用这些属性:

'click input.inc': function (ev) {
    Players.update(Session.get("selected_player"), {$inc: {score: $(ev.target).data('score')}});
 },
于 2013-08-05T07:08:30.600 回答