如何使用jQuery检测已删除的元素?

时间:2018-04-30 21:27:03

标签: javascript jquery

您好我需要帮助我的代码,我创建非常简单的游戏(僵尸杀死),我想检测元素是否被删除,这可能与jquery?这是我需要检测元素是否被删除的代码的一部分:

plansza.addEventListener('click', function(e) {
    if (e.target.classList.contains('zombie')) {
        e.target.live--;
        //console.log(e.target.remove())
        if (e.target.live <= 0) {
            score += 10;
            e.target.remove();
            document.querySelector('.score span').innerText = score;
        }
        if (e.target.live > 0 && e.target.remove()) {
            console.log('uciekłem')
            score -= 10;
            e.target.remove();
            document.querySelector('.score span').innerText = score;
        }

    }

首先,如果在2次点击后删除元素,但是当僵尸没有被击中并离开屏幕时,则分数必须为-10。

2 个答案:

答案 0 :(得分:0)

remove()总是删除元素,它不返回值。所以你不应该用if()来测试它。只需致电remove()并假设它完成了它的工作。

plansza.addEventListener('click', function(e) {
    if (e.target.classList.contains('zombie')) {
        e.target.live--;
        if (e.target.live <= 0) {
            score += 10;
            e.target.remove();
        } else {
            console.log('uciekłem');
            score -= 10;
        }
        document.querySelector('.score span').innerText = score;
    }
});

答案 1 :(得分:0)

我发现将DOMSubtreeModified事件绑定到父元素最简单。

$(yourParentElement).bind("DOMSubtreeModified", DOMChanged);

function DOMChanged(){
   alert('child element removed');
}