正如人们所指出的那样,你正在做错误的函数(函数必须是一个匿名函数或指向函数的指针,或指向函数的字符串)。但是你也使用'on'方法错误,它与'live'方法不完全相同。你看文档(或文档的一个区域),并在其中有一个子选择器。
$(document).on('click', "#checkbox1", function() {
var status = this.checked;
$(".item").each(function() {
$(this).prop("checked", status);
});
注:如果在“checkBoxDiv”你的选择越来越创建了所有的复选框即可:
$("#checkBoxDiv").on('click', "#checkbox1", ...
有关如何“开”使用更多信息,请参见在函数中的比较'生活'documentation(大约1/3页)。
从文档:
重写。live()方法在其后续方面是 直截了当;这些都为所有 三个事件连接方法等效调用模板:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery
1.4.3+ $(document).on(events, selector, data, handler); // jQuery 1.7+
事件参数可以是事件型的空格分隔的列表 名称和可选的命名空间,或一个事件地图事件名称字符串 和处理程序。数据参数是可选的,可以省略。对于 例如,以下三种方法调用在功能上等同 (但请参阅下面的附加 委托的事件处理程序更有效和更高性能的方式):
$("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+
$(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+
非常感谢,这工作! – Victor 2012-01-27 16:42:10
@ Victor-将它标记为答案,只要你可以。 – ShankarSangoli 2012-01-27 17:02:22