【发布时间】:2013-08-04 20:02:24
【问题描述】:
我正在使用以下代码将侦听器添加到(我附加到表中的 TBODY),因此当我将鼠标放在 TR 上时,我可以看到很好的高亮效果。 我还有一个“点击”事件,它使整行“可点击”,因此用户可以轻松点击整行并转到该特定页面。
我正在使用 JS,因为我使用 AJAX 调用来填充 TR(以及它们的少数 TD)。
我列表中的前 12 个元素用 PHP 很好地完成了,但之后我通过 Ajax 调用加载了下一个 10、10、10...
当我使用 PHP 并将 javascript: 添加到带有“onClick”的 TR 时,它可以完美运行, 但在下面的这段代码(javascript)中,只有 mouseover 和 mouseout 可以正常工作, “click”事件侦听器将 i 的最后一个值添加到所有 window.location.href 中,当前值 (13、14、15)...它仅添加到所有 15(所以总是,i 的最后一个值 - my计数器...它不会像计数器那样递增)。
我认为事件侦听器的功能、它的初始化方式有问题,我不知道。
for(i=0; i<10; i++){
myTr.addEventListener("mouseover",function(){
this.style.backgroundColor = "#083636"
this.style.cursor = "pointer"
});
myTr.addEventListener("mouseout",function(){
this.style.backgroundColor = "transparent"
});
myTr.addEventListener("click",function(){
window.location.href = '/clubbers/' + clubber_url + '/' + i + '#threads'
});
}
*在输入/复制代码时忘记开始我的for括号,现在看起来不错
【问题讨论】:
-
你能检查一下你的代码吗,你没有关闭括号...
-
您重复循环十次,它会相应地设置 window.location.href 值,因此您最终只发送了最后一个值。
-
你也不需要 mouseover 和 mouseout 来改变颜色,你可以添加 tr:hover{background-color:#083636; cursor:pointer} 指向你的 CSS
标签: javascript ajax