我正在将cakephp 2.6应用程序的代码升级到cakephp 3.7
在应用程序下的视图文件中写入的jquery代码不再起作用,这之前已经起作用。
下面是无法正常工作的代码示例
$(document).ready(function () {
$("#CouponAllowTime").click(function () {
if ($(this).is(":checked")) {
$("#timeDiv").show();
} else {
$("#timeDiv").hide();
}
}
}
但是当我尝试使用$(document).on()运行代码时,它可以工作
$(document).ready(function () {
$(document).on('click','#CouponAllowTime',function () {
if ($(this).is(":checked")) {
$("#timeDiv").show();
} else {
$("#timeDiv").hide();
}
}
}
我不想为此更改应用程序的多个文件,这是什么问题?
最佳答案
从一个版本升级到另一版本时,控件是动态生成的。要将事件附加到动态创建的元素上,必须使用通过.on()
实现的委托事件处理程序。