javascript - 点击事件未正确触发

标签 javascript jquery

我试图在页面加载时触发点击事件,但每个页面加载时仅触发一次。发生的情况是,在本地主机中它工作正常,但是当我上传到服务器时它根本不触发。

这个想法是在页面加载时将计数器设置为 0,然后将计数器加 1 以禁用进一步的点击。显然,某个地方有错误,但我无法解决它。

我正在使用 jqwidgets jqxgrid 来显示数据并将类作为变量。我也在使用jquery 1.11.1

如果有人能帮助我解决这个问题,我将不胜感激,因为我似乎尝试了很多组合,但在本地主机上可以,但在服务器上什么也没有。我在服务器上使用 php v5.3.13 wamp 和 5.4。非常感谢

var counter = 0;
window.onload = function() {
  var calendaricons = document.getElementsByClassName('jqx-icon-calendar');

  for (var i = 0; i < calendaricons.length; i++) {
    calendaricons[i].addEventListener('click', function() {
      if (counter === 0) {
        notif({
          type: "info",
          msg: "Test Message",
          width: 650,
          height: 99,
          multiline: true,
          position: "center",
          fade: true,
          //timeout: 3000,
          autohide: false,
          clickable: true
        });
        counter++;

      } else {
        return false;
      }
    });
  }
}

最佳答案

如果您使用 jQuery(看起来确实如此),您可以使用 one 函数,该函数允许您的处理程序仅运行一次。

这是使用 one 函数的代码:

$(window).load(function() {
    $('.jqx-icon-calendar').each(function(index, item) {
        $(this).one("click", function() {
            notif({
              type: "info",
              msg: "Test Message",
              width: 650,
              height: 99,
              multiline: true,
              position: "center",
              fade: true,
              //timeout: 3000,
              autohide: false,
              clickable: true
            });
        });
    });
});

关于javascript - 点击事件未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075083/

相关文章:

javascript - 使用对象列表将 ID 数组映射到字符串数组

javascript - Jquery Scroll 显示错误信息

javascript - jQuery 在单击按钮时将 php 文件中的值加载到 html 输入中 - 不起作用

javascript - Handlebars 和文本区域

javascript - "newElements"在 Javascript 中如何工作?

javascript - Webpack CommonsChunkPlugin 未按预期工作

javascript - AngularJS 1.3 - 为什么表单在加载时有效,对于最小长度的输入?

javascript - 如何对 Bootstrap 卡进行分页

javascript - JavaScript 中的 Onclick 事件

javascript - JQuery 签名不适用于 IE <= 9