2012-05-25 100 views
1

所以,我今天在讨论一些jQuery,并且遇到了一个问题。我有一个网页,有很多的格式如下链接:为什么我的链接不会触发jQuery.click事件?

​​

<#>是一个生成在运行该页面中的PHP循环的一个数字。在页面顶部,我有一个链接到Google CDN的脚本标记,用于jQuery 1.7.2最小化,以及一个ID为“form_map”的div。所有链接都显示后,我有以下脚本:

<script type="text/css"> 
    $(document).ready(function(){ 
     $('.a_link').click(function(){ 
      var c_id = $(this).attr('id'); 
      var task = 'read'; 
      var ajax_url = 'engine.php'; 
      alert('link pressed for id: '+c_id); 
      $.get({ 
       url: ajax_url, 
       data: { 'task':task, 'c_id':c_id }, 
       success: function(res){ $('#form_map').val(res); } 
      }); 
     }); 
    }); 
</script> 

不顾一切靠不住的Ajax调用(这也似乎不能正常工作),当我点击一个链接没有任何反应。它甚至不运行脚本。我通过设置断点并添加警报来测试这一点。似乎甚至没有触发这一点。

关于我在做什么的任何建议是错误的?

+5

你的脚本类型被列为 “文/ CSS” ...它应该是 “text/JavaScript的”。 –

回答

9

使用:的

<script type="text/javascript"> 

代替:

<script type="text/css"> 

也使用:的

$('#form_map').html(res); 

代替

$('#form_map').val(res); 
+1

甚至没有......如果您使用HTML5文档类型('<!DOCTYPE html>'),那么包含Javascript的'

3

您需要在传递给.click()的函数结束时返回false。

$('.a_link').click(function() { 
    // Your AJAX stuff here. 
    return false; 
}); 

返回错误会阻止链接继续正常工作。

+0

他没有到那个地方返回false。 – JonH

+2

@JonH不过,这是需要的,否则AJAX是毫无意义的。 – kevin628

4

您可能要开始标签

<script type="text/css"> 

固定到

<script type="text/javascript"> 
相关问题