[英]Why does my href only work after I manually refresh the page?
我做了一个充满SQL数据的表。 我在表行中添加了一个data-href,它将我带到另一个页面并显示该行的所有数据。 但这仅在我手动刷新我的表所在页面后才有效。 当我使用普通hrefs进入页面时,单击表格行不会执行任何操作。 当我使用URL栏旁边的页面刷新刷新页面时,表行事件有效。 这是什么原因?
<script>
var trid;
function foo() {
}
</script>
<script>
$(function(){
$('*[data-href]').click(function(){
window.location = $(this).data('href');
return false;
});
});
</script>
上面的代码位于页面头部
<div data-role="navbar">
<ul>
<li><a href="stoftest.php">Stoftest</a></li>
<li><a href="overzicht.php">Overzicht</a></li>
<li><a href="klim.php">Klimopdracht</a></li>
</ul>
</div>
上面的代码是对带有表格的页面的引用(中间的一个)。
echo "<table>";
echo "<tr>";
echo "<th>".'Stof'."</th>";
echo "<th>".'Score'."</th>";
echo "<th>".'Datum'."</th>";
echo "</tr>";
foreach ($result as $pers) {
echo "<tr data-href='detail.php?persId=".$pers->id."'>";
echo "<td>".$pers->stofid."</td>
<td>".$pers->zoeken."</td>
<td>".$pers->datum."</td>";
echo "</tr>";
}
echo "</table>";
上面的代码是我使用PHP和HTML的表
所有这些仅在手动页面刷新后才有效。 我不知道导致这个问题的原因。 当我进入此页面时,我甚至尝试了自动页面刷新,但此刷新事件仅在我手动刷新页面后才起作用。
如果您需要更多代码,请告诉我。
您的点击处理程序很好,因此问题必须位于页面的其他位置。
打开Javascript控制台并添加一些console.log调用可能会有所帮助。 例如
$('*[data-href]')
.each(function()
{
// Check this value the first time the page loads
// then see if it changes when the page reloads
console.log($(this).data('href'));
})
.click(function(event)
{
event.preventDefault();
window.location = $(this).data('href');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.