如何让Resharper停止Javascript自动填充$为'$ t?

时间:2011-10-31 07:59:51

标签: jquery jqgrid resharper

当我调用像jQuery.ajax这样的jQuery方法时,我使用$ .ajax。 Resharper正在从jqGrid的代码中获取一些东西,这使得它想要在我输入$时自动完成$ t。它使jQuery编码真的很慢 - 有谁知道我怎么能禁用它?

更新

我知道可以从工具中完全暂停Resharper - >选项 - > Resharper - >一般 - >暂停,但我真的只是想让它单独留下我的javscript;(

2 个答案:

答案 0 :(得分:1)

我认为在您的代码或jqGrid的代码中某处定义了全局变量$t。 jqGrid的代码有很多地方,比如

methodName: function (methodParameters) {
    return this.each(function () {
        var $t = this, ...
        ...
    });
}

因此,有许多地方定义了 local 变量$t。在其他方法中,您会看到var t = thisvar ts = thisvar self = this,依此类推。

所以我想,在你使用的jqGrid代码中的某个地方有杯子&粘贴错误:一个复制了另一个方法中定义var $t = this的函数的代码,其中一个使用另一个变量名来保存this。因此$t将被解释为全局变量。

我建议您在代码中找到$t的定义。只需在$t上按 F12 或使用Resharper的其他可能性来查找全局 $t变量的定义位置。

答案 1 :(得分:1)

缺乏真正的解决方案,更好的解决方法是在解决方案的common.js文件中定义$函数。

$ = $;

这不能解决$t或您看到的任何其他全局方法(我的情况为$e)的问题,但它应该建议您的common.js文件中的$作为最重要的建议。

我喜欢这项工作比修改有问题的jQuery插件源文件更多,因为我不想每次更新插件时都重新应用此修改。此外,我不必担心可能通过更改变量名称或消除全局变量来破坏任何内容。