jQuery等效原型函数bind()

时间:2013-08-05 11:12:24

标签: jquery prototype bind

如何使用jQuery编写以下代码:

td.onclick = this.onclick.bind(this, "abc");

对不起,我忘记了另一件事。 td元素已创建,如:

td = document.createElement("td");
td.onclick = this.onclick.bind(this, "abc");
tr.appendChild(td);

我可以在appendChild元素之前使用$(td).click($。proxy(this.onclick,this))。

重要的是,参数" abc"。

3 个答案:

答案 0 :(得分:0)

使用$.proxy()

td.onclick = $.proxy(this.onclick, this);

但是在jQuery中它应该是

$(td).click($.proxy(this.onclick, this))

答案 1 :(得分:0)

JavaScript中有绑定功能,您可以找到支持它的浏览器here

答案 2 :(得分:0)

尝试以下:

$("td").on("click",function(){
   alert("clicked cell");
});

//或者如果你想调用另一个事件控件,你可以试试这个:

$("span").on("click",function(){
   alert("clicked span");
});

$("td").on("click",function(){
   $("span").click();

   //OR,
   $("span").trigger("click");
});

我希望它有所帮助。