【发布时间】:2017-10-08 07:14:05
【问题描述】:
我的纸牌游戏中有一个点击功能,我想在其中包含 not() 以排除某些类,但我似乎无法让它工作。
基本上,我想让它只要类不等于“匹配”或“打开”,就可以继续点击事件。如果它们匹配,则不要运行该函数。
这是我现在正在使用的更新后的基本代码的 sn-p:
function addCardListener() {
$( '.card:not(.match, .open, .show)').on('click', function(){
alert("TEST");
$(this).addClass('open show');
});
}
我尝试替换:
$('.card').on('click', function() {
与:
$( '.card:not(".match, .open")').bind('click', function(){
但它不起作用。无论卡上是否定义了这些类,我都可以继续单击我的牌组中的任何内容。我究竟做错了什么?提前感谢您的帮助!
更新: 我剥离了所有代码,但仍然无法正常工作。不确定您是否会看到此更新,但我的板子创建是这样完成的:
function createBoard() {
shuffle(symbols);
match = 0;
moves = 0;
for (var i = 0; i < symbols.length; i++) {
deck.append($('<li class="card"><i class="fa fa-' +
symbols[i] + '"></i></li>'));
}
addCardListener();
};
无论卡片的职业是否有公开比赛或显示,点击功能都会关闭。我想我很困惑,我认为如果卡有这些类,则函数不会运行。我更新了上面函数的精简版本。任何建议将不胜感激!
【问题讨论】:
-
控制台错误?动态创建的卡片?
-
没有控制台错误,它就像 not 方法不存在一样。我可以单击我希望 not() 会阻止该功能运行的卡片。我将上面的代码更新为精简版本。有什么建议吗?非常感谢
标签: javascript jquery