1

尝试使用 komodo 构建一个 jquery ui 小部件。我启用了 jquery api 引用,并且在一个 .html 文件中它工作得很好。然后我打开我的 widget.js 文件并输入;

(function($) {

其次是

$.

我希望在这里得到智能感知,但我得到了:

未找到完成。(错误确定完成)

这是文件扩展名吗?只是不支持 jquery ui 小部件吗?

4

2 回答 2

2

来自科莫多的人;

问题是 Komodo 不知道匿名函数调用的上下文 - 换句话说,Komodo 不够聪明,无法知道在这种情况下 "jQuery" == "$"。

但是一切都没有丢失,您可以通过告诉 Komodo 在这种情况下是什么类型来帮助它。下面是使用 jsDoc 帮助定义“$”类型的示例:

   (/** @param {jQuery} $ */function($) {
       $. // will show jQuery completions now
   })(jQuery)

;

于 2012-06-08T12:18:02.977 回答
0

争论就是问题。没有它:

(function()
  {
  $. //works
  jQuery. //works
  ...
  }
);

Komodo 知道 $ 和 jQuery 都是全局变量。本地范围优先,因此 $ 变得未定义。相反,如果你传入 jQuery,$ 会起作用,但 jQuery 不会:

(function(jQuery)
  {
  $. //works
  jQuery. //does not
  ...
  }
);
于 2012-06-07T20:13:55.347 回答