Javascript如何更新计数?
我现在只学了大约两周的javascript,我在书中做了一个例子,但我想把我学到的东西整合起来。不幸的是,我没有取得任何成功。我已经放弃了自己尝试,所以我来了。我需要帮助 我想在id=“计数器”上显示已添加项目和已删除项目的计数。当我删除项目时,我很难更新计数 HTML:Javascript如何更新计数?,javascript,Javascript,我现在只学了大约两周的javascript,我在书中做了一个例子,但我想把我学到的东西整合起来。不幸的是,我没有取得任何成功。我已经放弃了自己尝试,所以我来了。我需要帮助 我想在id=“计数器”上显示已添加项目和已删除项目的计数。当我删除项目时,我很难更新计数 HTML: 试试下面的代码。在进行计数之前,代码将稍微延迟执行“节点删除”以完成: function updateCount(){ setTimeout(function(){ listItems = elList
试试下面的代码。在进行计数之前,代码将稍微延迟执行
“节点删除”
以完成:
function updateCount(){
setTimeout(function(){
listItems = elList.getElementsByTagName('li');
counter.innerHTML = listItems.length;
}, 100);
}
您可以将事件延迟设置为1
,而不是100
,它将正常工作
另一种选择是不注册domandeinserted
addomanderemoved
侦听器,而是在addItem()
和deleteItem()
函数末尾添加updateCount()
调用
编辑:
以下是两种解决方案的工作JSFIDLE示例:
“节点删除”
以完成:
function updateCount(){
setTimeout(function(){
listItems = elList.getElementsByTagName('li');
counter.innerHTML = listItems.length;
}, 100);
}
您可以将事件延迟设置为1
,而不是100
,它将正常工作
另一种选择是不注册domandeinserted
addomanderemoved
侦听器,而是在addItem()
和deleteItem()
函数末尾添加updateCount()
调用
编辑:
以下是两种解决方案的工作JSFIDLE示例:
//elList.addEventListener('DOMNodeInserted', updateCount, false);
//elList.addEventListener('DOMNodeRemoved', updateCount, false);
elList.addEventListener('DOMSubtreeModified', updateCount, false);
只需注册domsubtreemedited试试这个
//elList.addEventListener('DOMNodeInserted', updateCount, false);
//elList.addEventListener('DOMNodeRemoved', updateCount, false);
elList.addEventListener('DOMSubtreeModified', updateCount, false);
只需注册DomSubtredeModified它对我有效。看见你有什么问题?你的浏览器控制台有任何错误吗?这对我有用。看见您有什么问题?浏览器控制台中的任何错误都可以解决问题!尽管如此,我还没有读到关于延迟的报道。这是非常有益的。非常感谢。很高兴知道。。。如果这有帮助,请投票:)解决了问题!尽管如此,我还没有读到关于延迟的报道。这是非常有益的。非常感谢。很高兴知道。。。如果这有帮助,请投票:)这也解决了问题!非常感谢。这些代码肯定会进入我的笔记!这也解决了问题!非常感谢。这些代码肯定会进入我的笔记!