Javascript dojox.enhancedGrid插件间接选择中的dojo.connect
我偶然发现了一个奇怪的情况 我们使用dojo和Vers。1.9. 其中dojo.connect被dojo.on替换 到目前为止一切正常。现在我想将Eventlistener(选中复选框)连接到EnhancedGrid的间接选择插件。我用dojo.on搜索解决方案,但只找到dojo.connect 对吗?我的意思是dojo.connect在dojo 1.9中通常是不推荐的 这是我在dojo端找到的代码:Javascript dojox.enhancedGrid插件间接选择中的dojo.connect,javascript,events,dojo,grid,Javascript,Events,Dojo,Grid,我偶然发现了一个奇怪的情况 我们使用dojo和Vers。1.9. 其中dojo.connect被dojo.on替换 到目前为止一切正常。现在我想将Eventlistener(选中复选框)连接到EnhancedGrid的间接选择插件。我用dojo.on搜索解决方案,但只找到dojo.connect 对吗?我的意思是dojo.connect在dojo 1.9中通常是不推荐的 这是我在dojo端找到的代码: dojo.connect(grid.selection, 'onSelected'|'onDe
dojo.connect(grid.selection, 'onSelected'|'onDeselected', function(rowIndex){...})
参考:
这是我的代码:
if(!registry.byId("GraphGrid")){
grid = new EnhancedGrid({
id: 'GraphGrid',
store: GraphicStore,
query: { ident: "*" },
structure: layout,
rowSelector: '20px',
keepSelection: false,
plugins: {
indirectSelection: {
headerSelector:false,
width:"40px",
styles:"text-align: center;"
}}
},"GridGraphicInMap");
/*Call startup() to render the grid*/
grid.startup();
grid.on("rowClick", function(evt){
var idx = evt.rowIndex,
item = this.getItem(idx);
// get a value out of the item
var value = this.store.getValue(item, "geom");
highlightGeometry(value,true);
});
dojo.connect(grid.selection, 'onSelected', getSelectedItems);
}
else {
setTimeout(function(){
grid.setStore(GraphicStore);
}, 1000);
}...
我试图将其更改为dojo.on或grid.selection.on('Selected',getSelectedItems);但它不起作用。在这种特殊情况下,dojo.connect仍然是正确的连接方式吗
上面的代码工作正常,没有问题
您好,Miriam您可以使用dojo.connect它不会影响事件触发。 并尝试以以下方式使用connect:
dojo.connect(grid, 'onSelected', getSelectedItems);
或
connect(网格,'onselectionchanged',getSelectedItems)
如果其中任何一个不起作用,请告诉我。dojo.connect(grid.selection,'onSelected',function(rowIndex){console.log(grid.getItem(rowIndex));//如果要获取所选行});谢谢你的回答,但我想你误解了我的意思。我的意思是,你应该在任何地方使用('myThingy','click',doSomething);在这种情况下,您应该使用旧的dojo.connect('myThingy',onClick,doSomething);我的问题是关于dojo.connect的,以及它是否正确使用,当它被普遍弃用时。谢谢您的回答!我想我必须修改我的问题。上面的代码运行良好,这不是问题所在。问题是:当他们说dojo 1.9中的dojo.connect通常不受欢迎,而您应该使用dojo/on来连接事件时,为什么我应该在dojo 1.9中使用它。只有在这种特定情况下,它不会以任何方式影响您的代码,即使您使用不推荐的方法,也可以使用dojo.connect或dojo/on。这就好比如果你有安卓3.0或4.4,你的最新应用程序仍然可以在你的设备上运行,类似的连接或打开,你的方法将被调用。我使用的是DojoV1.9.3,connect和on在我的代码中运行良好。您肯定是对的。正如我所说,这对我来说也很好。我只是想知道为什么dojo在这种情况下使用connect而不是on。