我通过如下所示的数组将 jQuery 对象从另一个文件传递到函数中:
$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
var selectedStoreDocument = urlParams["storeDocument"];
}
selectedStoreDocument
应该是一个 jQuery 对象,但是 Visual Studio Intellisense 永远不会这样识别它。我尝试使用 $.extend
添加扩展 selectedStoreDocument
:
// cast selectedStoreDocument to a jQuery type
$.extend(selectedStoreDocument, $);
但是,扩展 selectedStoreDocument
消除了我所有的 jQuery 方法(.each
、.find
等)。
如何让 selectedStoreDocument
在 IntelliSense 中显示为 jQuery 对象?请注意,我在 Visual Studio 2010 中工作。
最佳答案
我为实用函数创建了一个单独的文件,并为实用函数 + VSDoc 创建了第二个文件。
实用程序.js:
function castToJQuery(item)
{
return item;
}
实用程序-vsdoc.js:
function castToJQuery(item)
{
/// <summary>
/// 1: $(item) - "Casts" the specified item to a jQuery object for the sake of Intellisense
/// </summary>
/// <returns type="jQuery" />
return $("dummy");
}
现在我可以在我的任何下游文件中调用 castToJQuery 以使 Visual Studio 认为动态属性是一个 jQuery 对象。
var selectedStoreDocument = castToJQuery(urlParams["storeDocument"]);
selectedStoreDocument.find("products");
Visual Studio 现在可与我的动态 urlParams["storeDocument"] 的 Intellisense 配合使用。
关于javascript - 使用 Visual Studio 的 JavaScript IntelliSense 模拟转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832055/