繁体   English   中英

为什么我的href仅在手动刷新页面后才起作用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM