gpt4 book ai didi

extjs - 如何防止在 Ext Js 树中检查更改时出现 itemclick 事件

转载 作者:行者123 更新时间:2023-12-01 03:57:23 38 4
gpt4 key购买 nike

我在 Ext.tree.Panel 中添加了两个监听器“检查更改”和“项目单击”。但我注意到,
当发生检查更改时,它也会触发项目单击事件。我希望阻止此项目点击事件。

    listeners : {
checkchange: function(node, checked, eOpts){
alert('this is check change');
},
itemclick : function(obj, record, item, index, e, eOpts){
alert('this is item click');
}
}

这是 Ext 树中的监听器。在检查更改时,我希望仅收到“这是检查更改”此警报。怎么可能?

最佳答案

您可以使用事件 getTarget 方法来检查复选框的 DOM。完整的解决方案如下:

onItemClick: function( self, record, item, index, eventObj, eOpts ) {
var colIdx = eventObj.getTarget('.x-grid-cell').cellIndex;

if (colIdx===0) { // Apply item event click to the first column only
var node=self.getTreeStore().getNodeById(record.internalId);

if (!eventObj.getTarget('.x-tree-checkbox',1,true)) {
record.set('checked',!record.get('checked'));
this.fireEvent('checkchange', node, record.get('checked'));
}
}
}

关于extjs - 如何防止在 Ext Js 树中检查更改时出现 itemclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101853/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com