为什么我的链接不会触发jQuery.click事件

Why won't my links trigger jQuery.click events?

本文关键字:jQuery click 事件 我的 链接 为什么      更新时间:2023-09-26

所以,我今天涉足一些jQuery,我遇到了一个问题。我有一个页面,其中包含以下格式的许多链接:

<a class="a_link" id="a_id<#>" href="#">Click me</a>

其中<#>是在运行页面的 PHP 中的 for 循环中生成的数字。在页面顶部,我有一个脚本标签链接到 用于 jQuery 1.7.2 最小化的 Google CDN,以及一个 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调用(似乎也无法正常工作),当我单击链接时,没有任何反应。它甚至不运行脚本。我通过设置断点并添加警报对此进行了测试。似乎没有什么能触发这一点。

关于我做错了什么的任何建议?

使用:

<script type="text/javascript">

而不是:

<script type="text/css">

还使用:

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

而不是

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

您可能想要修复开始标记

<script type="text/css">

<script type="text/javascript">

你需要在传递给 .click() 的函数末尾返回 false。

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

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