【问题标题】:jQuery Uncaught TypeError: $(...).editRule is not a function - click eventjQuery Uncaught TypeError: $(...).editRule is not a function - click 事件
【发布时间】:2018-10-28 05:19:24
【问题描述】:

我很困惑,用谷歌搜索了很多,但没有找到答案。无论我尝试什么,以下代码都会导致: Uncaught TypeError: $(...).editRule is not a function。

    functionName(){
         [...]    
         $(`#index`).unbind().click(() => {
            $(`#index`).editRule(rule);
          });
      }

      editRule (rule) {
        // do sth
      }

参考确实有效。其他预定义函数,如 .remove() 行为正确。我尝试了很多(函数或静态,无参数,其他函数等),但错误仍然存​​在,我对点击事件不是很有经验。有人知道问题出在哪里吗?

【问题讨论】:

  • 为什么在选择器中使用反引号 ` 而不是引号? $(`#ruleIndex${rule.index}-edit`
  • 你在引用什么 api 让你知道 editRule 是一个 jQuery 方法?
  • @j08691 这些是 ES6 template strings
  • @j08691 他正在使用模板文字来构建选择器,不是吗?
  • @Taplar 这是一个自写的方法

标签: javascript jquery events click typeerror


【解决方案1】:

您是否使用 https://api.jquery.com/jquery.fn.extend/editRule 方法添加到 jQuery 中?或者您是否使用了一个特殊的 jQuery 库,可以将 editRule 添加到 jQuery 的方法中?

否则editrule不是jQuery方法,不能这样链接。

【讨论】:

  • 好吧,这似乎很明显......但是当我更改所有内容并创建一个将所选对象作为参数传递的函数时,我得到相同的错误( editRule($(#ruleIndex${rule.index}) )
  • 好吧,你不可能有完全相同的错误,因为你不再调用$(...).editRule了。
猜你喜欢
  • 2017-08-01
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
相关资源
最近更新 更多