我一直在尝试在gridx 中创建一个cellwidget 按钮,一旦单击它就会在外部调用一个javascript 函数。所以设置是我有文件 test.html,其中包含一个 gridx 网格,并在 html 中声明了以下字段
{ field: 'action',
name:'action',
widgetsInCell: true,
navigable: true,
width : '5%',
class:'linkButton',
decorator: function(){
return '<button class="linkButton" baseClass="linkButton" data-dojo-type="dijit.form.Button" iconClass="deleteButtonIcon"></button>'
},
setCellValue: function(gridData, storeData, cellWidget){
var status = cellWidget.cell.row.data()[3];
var id = cellWidget.cell.row.id;
if (status=='abc')
{
cellWidget.domNode.hidden=false;
if(cellWidget.btn._cnnt){
cellWidget.btn._cnnt.remove();
}
cellWidget.btn._cnnt = dojo.connect(cellWidget.btn, 'onClick', function(e){
alert('test');
deleteRecord('');
});
}
}}
警报发生正常,但问题是找不到 deleteRecord 函数 - 此函数位于 test.js 文件中,并且正在使用脚本标签加载
<script type="text/javascript" charset="utf-8" src="/test.js"></script>
我想我的问题是
- 我在上面做错了吗?
- cellwidget的范围是什么,它可以调用外部js脚本吗?
- 有没有办法将按钮连接到 .js 文件中的事件(动态加载所以不能使用 id)?
- 它是如何使用附加点完成的?