我已经为我开发的网站做了一个调试器,我只是在页面的底部包含了这些调试器。现在因为我将它包含在标签后面,它可能会引起一些我知道的问题,但到目前为止,我还没有看到任何问题,除了以下内容:
http://www.abitnerdy.se/tmp/debuggertest
单击以打开调试器,然后单击例如dbquery部分。我注意到的是它有时打不开,有时打不开。与应用程序日志完全相同。我不太明白它为什么要这么做。我附加了一个警告,以查看将显示什么div,然后我得出结论,单击没有附加。
不知何故,这个问题似乎只出现在最后两个div。
有没有人知道去哪里找?
顺便说一句,如果你认为这些代码对你自己的项目有用,请随意使用它。
发布于 2012-01-03 15:15:11
看起来最后两个h1 (<h1 id="dbquery" class="debug">)具有相同的ID属性,并且在单击函数中有类似if(current != $(this).attr("id"))的东西,所以如果最后两个h1中的一个是打开的,它将不允许另一个打开。
编辑:我很快在Firebug中将最后一个h1更改为不同的ID,然后它对我来说很好。因此,更改最后两个h1中的一个的ID,它应该可以正常工作。
发布于 2012-01-03 15:22:08
最后两个项目都有id="dbquery"。这肯定会带来问题。更改最后一个的id。
重复意味着当最后两个中的任何一个打开时,您不能单击另一个,因为您的代码认为查看器正在单击已经打开的一个,因此不会执行任何操作。如果你把最后一个给id="dblog"或者类似的东西,它应该会开始工作。
仅供参考:
当$(this).attr("id")工作得很好(直接的属性引用)时,this.id的效率非常低(两次函数调用,创建一个jQuery对象和几次内部查找)。人们应该只在输入或执行jQuery更有效的时候才使用它,而不是在这种情况下。
发布于 2012-01-03 15:24:02

看起来问题是由于最后两个h1具有相同的id
https://stackoverflow.com/questions/8709006
复制相似问题