extjs 外部-模块:打开(“鼠标进入”)|事件触发|无气泡

bd1hkmkf  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(144)

我有一个附加了on('mouseenter ')事件处理程序的元素。问题是如果转换到事件真正附加到的元素的子节点元素的响应时间超过了,则事件不会在选定的元素上触发。
查询:element.tagName有时会给出正确的值,有时会给出错误的值,从而导致事件触发问题。
解决方案:解决方案是添加一个具有有效标记名称的数组,然后查询触发事件的元素的父级,直到找到有效的标记名称。
EXTJS很烦人。

var elements = Ext.select('tag1, tag2, tag3', true);

elements.on('mouseleave', function(e, el){

var tags = ['TAG1', 'TAG2', 'TAG3']; // valid event Tags in caps;
var els = el;
if(tags.includes(els)){
while(true){
els=Ext.get(els).parent("",true);
if(tags.includes(els.tagName)){break;}
}
}

// now els contains the correct tag

}, this);

// duplicate function and change event for on('mouseleave');
irlmq6kh

irlmq6kh1#

elements.on('mouseleave', function(e, el){

var tags = ['TAG1', 'TAG2', 'TAG3']; // valid event Tags in caps;
var els = el;
if(tags.includes(els)){
while(true){
els=Ext.get(els).parent("",true);
if(tags.includes(els.tagName)){break;}
}
}

// now els contains the correct tag

}, this);

// duplicate function and change event for on('mouseleave');

相关问题