在流星点击处理程序中使用正则表达式

时间:2013-08-05 05:32:59

标签: jquery meteor

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

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

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

我使用jquery绑定到类.inc*。是否有'click input.inc*'的语法?

3 个答案:

答案 0 :(得分:4)

只需使用CSS选择器开头:

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

编辑:

包含:

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

结束于:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

例如,将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')}});
 },