将一些 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的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 将表单数据转换为 JavaScript 对象

将jquery控件转换为javascript

将触摸事件从 Javascript 转换为 jQuery

如何将jquery转换为javascript

将毫秒转换为日期 (jQuery/JavaScript)

javascript 将php转换为Jquery