Javascript 如何使用jQuery检测删除的元素?
您好,我需要代码方面的帮助,我正在创建一个非常简单的游戏(僵尸杀戮),我想检测元素是否被删除,jquery是否可以这样做?这是我需要检测元素是否被删除的代码的一部分:Javascript 如何使用jQuery检测删除的元素?,javascript,jquery,Javascript,Jquery,您好,我需要代码方面的帮助,我正在创建一个非常简单的游戏(僵尸杀戮),我想检测元素是否被删除,jquery是否可以这样做?这是我需要检测元素是否被删除的代码的一部分: plansza.addEventListener('click', function(e) { if (e.target.classList.contains('zombie')) { e.target.live--; //console.log(e.target.remove())
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;
}
}
plansza.addEventListener('click',函数(e){
if(e.target.classList.contains('zombie')){
e、 target.live--;
//console.log(e.target.remove())
if(e.target.live 0&&e.target.remove()){
控制台日志('uciekłem')
得分-=10分;
e、 target.remove();
document.querySelector('.score span')。innerText=score;
}
}
首先,如果在2次点击后删除元素,但僵尸没有被点击并离开屏幕,则分数必须为-10。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;
}
});
plansza.addEventListener('click',函数(e){
if(e.target.classList.contains('zombie')){
e、 target.live--;
if(e.target.live我发现将一个DOMSubtreeModified事件绑定到父元素是最简单的
$(yourParentElement).bind("DOMSubtreeModified", DOMChanged);
function DOMChanged(){
alert('child element removed');
}
为什么不在代码中执行一些删除操作呢?可以使用just check检查它是否为null,这是知道它已从DOM中删除的一种方法e.target.remove()
不返回值,为什么要用if()测试它
?@Barmar,因为OP可能认为它确实返回元素是否已删除。我已经尝试了其他方法,但问题是它们有2个生命,因此如果你点击1次,它们仍有1个生命,因此其他方法将执行,所以你只想在live 0&&e.target.remove()时删除它)
当你点击它2次或当它们离开屏幕时,它们会被删除,我想可能是它们的位置,如果位置活动时才删除它,我不确定问题出在哪里。当我在每个僵尸上单击两次时,它就会消失。