单击jQuery元素生成

Eas*_*led 0 javascript jquery closures click

我使用jQuery生成按钮:

var button_a = $("<button />", {
                        text: 'A',
                        click: do_something,
                        class: "button a"
               });

var button_b = $("<button />", {
                        text: 'B',
                        click: do_something,
                        class: "button B"
               });

function do_something(){
    alert("Button Was pressed");
}
Run Code Online (Sandbox Code Playgroud)

我想这样做do_something而不是:

function do_something(name){
    alert("Button " + name + " was pressed");
}
Run Code Online (Sandbox Code Playgroud)

我应该如何改变jQuery的按钮创建,这样我可以在一传nameclick: do_something

是预先创建封闭的唯一解决方案吗?

T J*_*T J 5

您可以在创建按钮时简单地给出一个nameid属性并访问它

dosomething()使用this关键字,比如

function do_something(){
  alert("Button"+ this.id+ " is pressed")
}
Run Code Online (Sandbox Code Playgroud)

在这里,this将参考点击的按钮..