簡體   English   中英

Visual Studio 2008/2010中對jQuery閉包的Intellisense支持{

[英]Intellisense support in Visual Studio 2008/2010 for jQuery closures {

我正在嘗試讓Intellisense正確地用於關閉。 作為一個插件作者,我總是使用一個閉包來為我的插件代碼創建一個獨立的環境:

(function($) {
  // code here
})(jQuery);

但問題是Intellisense沒有發現在執行函數時傳遞了jQuery。 在上面的代碼中添加$ = jQuery可以解決問題,但這只是糟糕的執行,恕我直言。

這里的任何人都可以在不使用嵌入式ASP服務器標簽的情況下工作(這是一個獨立的JS文件)? 有些東西最好不包括修改現有代碼而不是某些奇怪的/// <option .../> -like解決方案?

您的帖子或評論中不清楚,但在.js文件的頂部,您是否添加了:
/// <reference path="jquery.vsdoc.js" />
到你的文件的頂部?

ScottGu的博客更多關於外部庫中的intellisense(不是jQuery特定的)。

另外,這是另一個可能的解決方案,這是你用$=jQuery提到的嗎?:

(function($) {  // private closure;  <% /*debug*/ if (false) { %> 
    $ = jQuery;
    // <% } /*end debug*/ %>
    $(function() {
        // do stuff
    });
})(jQuery);

在此處找到: http//blog.jeroenvanwarmerdam.nl/post/IntelliSense-VS08-within-private-closure.aspx

如果您正在為您的jQuery插件開發IDE查看Visual Studio 2010,那么您已做出了正確的選擇。 以下是設置的詳細信息:

  1. 在項目的同一目錄中下載jquery和相應的jquery.vsdoc。 您可以從http://www.asp.net/ajaxlibrary/cdn.ashx下載最新版本的jQuery文件。 以下是CDN上面最新jQuery鏈接的鏈接:

    • http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.js
    • http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js
    • http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1-vsdoc.js

    在我的開發環境中,我使用未壓縮的jquery文件重命名為jquery.js (刪除文件名中的版本信息[-1.7.1],並記住也從vsdoc文件名中刪除版本信息)

  2. 使用包含該行的第一行創建插件文件

     /// <reference path="/path/to/jquery.js"> 
  3. 使用閉包創建插件代碼。 這是插件的完整骨架:

     /// <reference path="jquery.js" /> (function ($) { /// <param name="$" type="jQuery" /> jQuery.fn.gallery = function () { return this.each(function () { // your code here }); }; })(jQuery); 
  4. 記得使用/// <param name="$" type="jQuery" />作為插件關閉的第一行,正如我在上面的代碼中所演示的那樣。 這一切都適用於Visual Studio 2010 SP1。

訪問我的jQuery插件網站博客

但在安裝此修補程序之前,請確保在系統中安裝了SP1。

我很驚訝這在VS2010中不起作用(我認為你不能在VS2008中使它工作)。

您可以嘗試將xml doc注釋添加到開始閉包以定義param類型。 像這樣的東西:

/// <param name =“$”type =“Jquery”/>

(我不知道jquery對象的類名是什么 - 或者是否有一個可用的類名)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM