将一些 JavaScript 转换为 JQuery
Posted
技术标签:
【中文标题】将一些 JavaScript 转换为 JQuery【英文标题】:Convert some JavaScript to JQuery 【发布时间】:2010-10-12 14:29:03 【问题描述】:我有一些执行以下操作的 javascript 代码
link.NavigateUrl = string.Format("javascript:MyFunction(0, 1);", ID1, ID2);
所以当点击链接时会调用MyFunction并传入动态参数。
如何使用 jQuery 传递这些参数,例如:
$(function()
$('#MyLinksID').click(function()
console.log('Want to have access the two params here');
);
那么如何从我的点击事件中访问参数?
【问题讨论】:
【参考方案1】:您需要使用“闭包”,这是 javascript 的核心概念。
简而言之,一个函数可以访问它创建的范围内的变量。
$(function()
var ID1 = 'foo';
var ID2 = 'bar';
$('#MyLinksID').click(function()
console.log(ID1+ID2);
);
ID1 和 ID2 变量与创建回调函数的作用域相同,因此在以后调用时仍然可以访问它们。
【讨论】:
【参考方案2】:如果您尝试调用 MyFunction 并访问 JQuery click 事件中的参数,最简单的方法是解析链接的 href。
这样的事情应该可以工作(在你的 jQuery 点击事件中):
var href = this.href;
var startPos = href.indexOf("(") + 1;
var endPos = href.indexOf(")");
var parms = href.substr(startPos, endPos - startPos).split(",");
【讨论】:
【参考方案3】:问题是您所指的#MyLinksID 的单击事件与 NavigateUrl 属性没有连接。您需要澄清您的问题,因为有两个人回答了 2 个可能的答案。
【讨论】:
以上是关于将一些 JavaScript 转换为 JQuery的主要内容,如果未能解决你的问题,请参考以下文章