javascript - 单击功能在 IE 中不起作用 - Jquery

标签 javascript jquery

我的 jquery 代码有问题,我创建了一种日历,如果您单击某个日期,就会在其中显示带有附加信息的叠加层。它在 chrome 中运行良好,它完全符合我的要求,但在 IE 中,当您单击日期时没有任何反应,不显示覆盖。已经为此苦苦挣扎了一段时间,真的需要一些帮助。这是代码:

$(document).ready(function() {
    for(let i=0; i<50; i++) {
        $("#calendar" + i).each (function() {
            $(this).click (function() {
                $("#calendar" + i).toggleClass("bigcalendar");      
            }); 
        });
    }
});

这是一个工作示例的链接:

http://codepen.io/kmars/pen/BLbQoA

最佳答案

在 jquery 中使用属性选择器。在 jquery 中单击动态元素不需要 for 循环。下面的代码应该适用于所有浏览器。

$(document).on('click','[id^=calendar]', function() {
   $(this).toggleClass("bigcalendar");  
});

关于javascript - 单击功能在 IE 中不起作用 - Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055560/

相关文章:

jquery - 排除 target=_blank 链接

javascript - 在 JS 执行之前应用 CSS 字体

javascript - 以同步方式使用requirejs(AMD)是错误的吗?

javascript - 如何处理两个单独文件中的异步?

javascript - jquery UI datepicker 没有显示在 html 输入文本上

jquery - 当 &lt;textarea&gt; 通过 ajax 响应更新时 ckeditor 消失

javascript - 如果输入类型文件不是图像,则使用 jquery 脚本显示警报

javascript - 使用 Knockout JS 和 Bootstrap 的多级菜单

javascript - 如何在客户端 Javascript 中使用经典 ASP 字符串?

javascript - 2个事件处理程序分配之间的区别