显示jquery变量

时间:2014-03-29 16:05:13

标签: javascript jquery

我在这里有这个脚本,我不知道如何传递这个变量来显示它。

   function show(a) {
    this.name = a;
    $("#box").show();
    $(document).on("click","#box",function() {   
    alert(this.name);
    } ); 
    }

我知道我可以像这样提醒它

  

警报(A);

但在我的真实代码中,我有一个动态变量soi需要传递tit并使用此方法显示它:

  

警报(this.name);

2 个答案:

答案 0 :(得分:0)

由于在关闭中定义了a,您可以在任何地方使用a,而不是尝试使用this

答案 1 :(得分:0)

您可以使用bind

function show(a) {
    this.name = a;
    $("#box").show();
    $(document).on("click","#box",function() {   
        alert(this.name);
    }.bind(this) ); 
}

bind返回一个绑定到特定上下文的函数。这样您就拥有了正确的背景。当您更改属性name上下文对象时,您的提醒会显示正确的name

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

这是一篇关于Function.prototype.bind的好文章:http://coding.smashingmagazine.com/2014/01/23/understanding-javascript-function-prototype-bind/