2013-04-27 45 views
0

最奇怪的事情。如果我上傳我的文件並開始點擊鏈接,它就可以正常工作。但是,如果我在另一個選項卡上衝浪,然後回到它並單擊該鏈接,則.post或.click jquery似乎不起作用。我只包括代碼的摘錄。如果您需要查看更多代碼,請告知我們。謝謝!!.click jquery無法正常工作,如果我沒有點擊頁面上的任何內容等待

likeOnClick.php文件

 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
     <script type="text/javascript" src="includes/js/jquery.form.js"></script> 
     <script type="text/javascript"> 

     $(document).ready(function() { 
    $(".like").click(function() { 
    var data = $(this).attr('data-id'); 
    $.post("updateLikes.php", {'id': data}); 
    }); 
return false; 
}); 
</script> 

...

displayDBUsers.php

  while($row = mysql_fetch_array($result)) 
    { 
    ?> 
    <?php $id = $row['uniqueid'];?> 
    <?php $finalID = "showdata" . $id ;?> 
    <?php echo "<br>FinalID: " . $finalID;?> 
    <?php echo "<br>ID: " . $row['uniqueid'];?> 
    <?php echo "<br>Name: " . $row['surname']; ?> 
    <?php echo "<br><a href class=like data-id=" . $id . ">Like (" . $row['likes'] . ")</a>"; ?> 
    <?php echo "<br><br>"; ?> 
<?php 
} 

...

updateLike.php

if($_POST['id']) 
    { 
$unique_id = mysql_real_escape_string($_POST['id']); 
$sql = " 
UPDATE atable 
SET likes=likes + 1 
WHERE uniqueid=$unique_id;"; 

$result = mysql_query($sql); 
if(!$result) 
{ 
    echo "Failed to retrieve record"; 
} 
+0

我要補充一點,它的工作原理我第二次點擊它等待一段時間是後。 – user2316399 2013-04-27 12:57:58

+1

您是否檢查過服務器是否在第一次點擊時發生錯誤(通過檢查Chrome開發工具中的響應或使用螢火蟲)? – 2013-04-27 13:03:10

+1

你確定沒有調用'click'事件處理程序嗎?你可以在事件處理程序中添加一個日誌記錄,並查看它是否被調用 – 2013-04-27 13:19:29

回答

1

請注意。 返回false;放置在不同的位置:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".like").click(function() { 
      var data = $(this).attr('data-id'); 
      $.post("updateLikes.php", {'id': data}); 
      return false; 
     }); 
    }); 
</script> 
0

加引號的屬性值:

echo "<br><a href=\"\" class=\"like\" data-id=\"1\">Like</a>"; 
相關問題