【问题标题】:Uncaught TypeError: jQuery(...).on is not a function未捕获的 TypeError:jQuery(...).on 不是函数
【发布时间】:2017-01-31 11:57:18
【问题描述】:

您好添加了关闭侧窗的代码

if(jQuery(window).width()>=320){
    jQuery(".side-nav-button").on("click tap", function() {
        jQuery(".side-nav-container").toggleClass("showNav hideNav").removeClass("side-nav-hide");
        jQuery(this).toggleClass("animated");
     });
}

这是我使用的代码。 我收到错误消息“Uncaught TypeError: jQuery(...).on is not a function”

请检查我哪里出错了

【问题讨论】:

  • 你用过哪个jquery版本?
  • 尝试使用 $ 并检查 jquery 库是否正确加载
  • 嗨 manoj。我正在使用 v=1.10.2

标签: jquery drupal-7


【解决方案1】:

.on()

说明:将一个或多个事件的事件处理函数附加到选定元素。 添加的版本:1.7

.on() 方法已添加到 jQuery 1.7 版本中,因此请检查您的 jQuery 版本是否 >= 1.7 或者您是否正确引用了 jQuery。

.on() 的旧替代品是 .live()

.live()

描述: 为现在和将来匹配当前选择器的所有元素附加一个事件处理程序。 添加的版本:1.3,不推荐使用的版本:1.7,删除:1.9

另外,尝试使用$(".side-nav-button") 而不是jQuery(".side-nav-button")(同样在另一个jQuery 调用中)。

也许你在 jQuery 和另一个库之间有冲突,在这种情况下,我建议你阅读 jQuery.noConflict():

你可以像这样包装你的jQuery代码(给jQuery一个alias):

jQuery.noConflict();
(function( $ ) {
  $(function() {
    // More code using $ as alias to jQuery
  });
})(jQuery);

这样 jQuery 不会与其他库冲突

【讨论】:

  • 嗨,吉尔。抱歉回复晚了。如果将 .on 更改为 .live 它的 show me .live 不是一个函数。
  • @vigneshr 你知道你的 jquery 版本吗?
  • 我正在使用 v=1.10.2
  • @vigneshr 很难说,.on() 应该可以在这个版本上工作,你能提供一些相关的 HTML 吗?
  • 这个js有一些冲突。我在drupal 7中使用的这个功能
猜你喜欢
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
  • 2017-07-20
  • 2019-09-26
相关资源
最近更新 更多