1

我不知道这是否是一个简单的问题,但我找不到解决方案。我想在 dojo 中创建 10 个按钮,如下面的按钮。

    <div style="right: 1px">
                <button data-dojo-type="dijit.form.Button" id="SaveChangesDataGrid1" onclick="SaveChanges()">
                    Save</button>
            </div>

但是每个按钮都有不同的ID但onClick的功能相同。所以我想要的是当单击按钮时,单击按钮的 id 将在函数中知道。

我正在使用 dojo 1.8 有什么想法吗?

4

1 回答 1

2

更改或onclick="SaveChanges()"摆脱onclick="SaveChanges(event)"它并使用data-dojo-props

<button
    data-dojo-type="dijit.form.Button"
    data-dojo-props="onClick:SaveChanges"
    id="SaveChangesDataGrid2"
>
    SaveChangesDataGrid2
</button>

SaveChanges()以这种方式开始获得id

require([
    "dijit/registry",        
    "dijit/form/Button",

], function(
    registry
) {

    window.SaveChanges = function(event) {
        var button =  registry.getEnclosingWidget(event.target);
        console.log("onclick id:", button.id);
    }  
});

在 jsFiddle 上查看它的实际效果:http: //jsfiddle.net/phusick/WfdKF/

于 2012-09-02T18:32:35.773 回答