我在做一个纸牌游戏。球员轮流。玩家不能扔任何卡,但受到前一张牌的限制。如果以前的球员投掷7个球杆,当前球员只能投掷球杆。 (比这更复杂,但是...)流星事件没有解雇
我解决了这个问题,有两个css类,cardRegular和cardThrowable,其中cardThrowable将卡移动到mousehover上,向用户表明卡可以被抛出。
我已经定义了这些事件:
Template.card.events({
"click .cardThrowable": function() {
console.log("click .cardThrowable " + this);
},
"click .cardRegular": function() {
console.log("click .cardRegular " + this);
}
});
当我打开网页,这两个事件的工作在这两个浏览器就好了(两个人),但是,一旦一个球员投掷他的卡我有一个问题。
第二名玩家牌正确更新并且只允许牌拥有cardThrowable类,但都不会触发事件。
如果我只是刷新页面,然后事件被正确解雇,但其他用户有同样的问题。直到他刷新页面...
我完全失去了什么可能导致此错误。
编辑: 卡模板
<template name="cards">
<div class="cardsDIV">
{{#each playerCards}}
{{> card}}
{{/each}}
</div>
</template>
<template name="card">
{{{card this}}}
</template>
...
Template.card.helpers({
card: function() {
return '<img src="' + cardImage(this.cardName) +
'" style="position:absolute;bottom:0;left:' + this.left + 'px" class="' + this.css + '" />';
}
});
这可能可以通过把实际的卡元素在子模板和附加的事件,该模板解决。您将不得不向我展示一些模板,以确认这一点。 –
可能与此问题类似的情况:http://stackoverflow.com/a/35412089/4699406 –
您是使用发布和订阅吗? – StefanL19