【问题标题】:Convert some JavaScript to JQuery将一些 JavaScript 转换为 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');       
});

那么如何从我的点击事件中访问参数?

【问题讨论】:

    标签: c# .net javascript jquery


    【解决方案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 个可能的答案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-18
          • 2017-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-09-24
          • 2016-03-31
          相关资源
          最近更新 更多