【问题标题】:my function is not a function in my console我的功能不是我的控制台中的功能
【发布时间】:2014-03-02 11:11:59
【问题描述】:

我有这个代码

$('.ajax').live('click', function() {

    $(function() {
        $('.ajax').live('click', function() {
        $.get($(this).attr('href'),{},function(data) {
        alert("ok");
        });
        return false;
      });
});

在我的控制台中我得到了

TypeError: $(...).live is not a function

我的 js 代码有什么问题? 我正在使用 jquery-1.9.1.js

【问题讨论】:

  • 'ajax' 是一个类吗?还是您尝试进行 ajax 调用?
  • 为什么在 click 函数中准备好文档?

标签: javascript jquery function


【解决方案1】:

来自 jQuery 文档:“从 jQuery 1.7 开始,不推荐使用 .live() 方法”

https://api.jquery.com/live/

【讨论】:

  • 版本已弃用:1.7,已删除:1.9
【解决方案2】:

live 已替换为 on

您应该将live 重命名为on,它会起作用。

jquery的升级指南可以在here找到。

另外,代码对我来说似乎有点重复。这也应该有效:

$('.ajax').live('click', function()
{
  $.get($(this).attr('href'),{}, function(data)
  {
    alert("ok");
  });

  return false;
});

【讨论】:

    【解决方案3】:

    live 在 jQuery 1.7 之后被弃用并替换为 on

    $('.ajax').live('click', function() 替换为$('.ajax').on('click', function()

    【讨论】:

      【解决方案4】:

      可能是这个原因,好像去掉了。

      http://jquery.com/upgrade-guide/1.9/#live-removed

      根据链接:

      .live() 方法自 jQuery 1.7 起已被弃用,并已被 在 1.9 中删除。我们建议升级代码以使用 .on() 方法 而是。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-12
        • 1970-01-01
        • 1970-01-01
        • 2020-09-24
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        相关资源
        最近更新 更多