JQuery单击功能不工作

JQuery单击功能不工作,jquery,Jquery,我以前见过这个问题,但我看到的所有答案都不适用于我的特定问题。我看到的大多数问题都是由于没有在文档就绪函数中使用单击而导致的。设置日历和禁用项目中的所有内容都在发生,但单击复选框时不会弹出警报 $(document).ready(setup) function setup() { $("id_Clearance").click(enable_clearance); $("id_Paperwork").click(enable_paperwork); $("id_AVSupport").clic

我以前见过这个问题,但我看到的所有答案都不适用于我的特定问题。我看到的大多数问题都是由于没有在文档就绪函数中使用单击而导致的。设置日历和禁用项目中的所有内容都在发生,但单击复选框时不会弹出警报

$(document).ready(setup)

function setup() {
$("id_Clearance").click(enable_clearance);
$("id_Paperwork").click(enable_paperwork);
$("id_AVSupport").click(enable_support);
setup_calendars();
disable_items();
}

function enable_paperwork()
{
alert("clicked");
}
您缺少指示选择器应与元素ID匹配的
符号:

$("#id_Clearance").click(enable_clearance);
$("#id_Paperwork").click(enable_paperwork);
$("#id_AVSupport").click(enable_support);
这是你想要的吗

function setup() {
  $("#id_Clearance").click(enable_clearance);
  $("#id_Paperwork").click(enable_paperwork);
  $("#id_AVSupport").click(enable_support);
  setup_calendars();
  disable_items();
}
您需要在元素的id之前包含一个#,以便为id进行选择。这样的名称可以查找标记。例如:

<id_Clearance/>


jQuery有很好的文档:

我可能错了,因为我没有您的html源代码,但您可能没有正确的ID选择器

目前,您正在执行以下操作:

$("id_Clearance").click(enable_clearance);
$("id_Paperwork").click(enable_paperwork);
$("id_AVSupport").click(enable_support);
如果这些确实应该是页面上元素的ID,则需要将其更改为:

$("#id_Clearance").click(enable_clearance);
$("#id_Paperwork").click(enable_paperwork);
$("#id_AVSupport").click(enable_support);

注意选择器开头的#。这就是用来选择id的方法。

使用.on()来避免此类问题。在这种情况下,这没有帮助<代码>单击()是从jQuery 1.7开始的.bind(“单击”,处理程序)和.on(“单击”,处理程序)的快捷方式。对于.on(“单击”,处理程序),而不是.on(“单击”,选择器,处理程序)右侧,如果您正在更新/替换页面上的元素,则使用这样的委托事件会有很大帮助。确实存在某种阻止设置,使我等待接受:)