Как закрыть список Tagfield в Ext.js 6.0.2, щелкнув по его метке в Internet Explorer 11?Extjs Tagfield: Как закрыть свой список, щелкнув по его метке в IE11?
Посмотрите на скрипку, чтобы проверить это.
https://fiddle.sencha.com/#fiddle/1h9n
Как закрыть список Tagfield в Ext.js 6.0.2, щелкнув по его метке в Internet Explorer 11?Extjs Tagfield: Как закрыть свой список, щелкнув по его метке в IE11?
Посмотрите на скрипку, чтобы проверить это.
https://fiddle.sencha.com/#fiddle/1h9n
Когда кто-то расширяет «выбранный список» нашего поля тегов, чем на этикетке появляется onClick Listener. Этот прослушиватель разрушает «выбранный список» при нажатии на метку tagfields.
listeners: {
expand: function (field) {
// Collapse List when click on Label
field.getEl().el.component.labelEl.on('click', function() {
setTimeout(function() {
field.collapse();
}, 100);
}
);
}
}
Во-первых, вы должны понять, что происходит лучше. Поле тега не закрывается, потому что вы нажали на метку; он закрывается, потому что поле тега потеряло фокус. В Chrome вы можете щелкнуть в любом месте за пределами поля тега, и он будет закрыт - не только на ярлыке.
Это, в свою очередь, дает нам подсказку о том, что происходит - поле тега не теряет фокус. Теперь, когда вы смотрите на код HTML метки, он настроен с атрибутом for
- в конце концов, это метка для.
И получается, что когда вы нажимаете на ярлык, оно предназначено для переноса фокуса на соответствующее поле. Таким образом, в Internet Explorer поле тега никогда не теряет фокус, поэтому поле тега никогда не закрывается.
Я бы сказал, что IE ближе к цели спецификации в этой ситуации. Но в любом случае, если вы действительно хотите этого поведения, вам нужно будет сам его закодировать с помощью прослушивателя onclick для метки.
Большое спасибо за ответ. –
У меня есть второстепенное: https://fiddle.sencha.com/#fiddle/1hji Без моей работы вокруг Chrome работает как IE 11. inputId: "dpvMytagfieldinputToNotSelect", Itemid: "dpvMytagfielditemToNotSelect", –
Я сделал прослушиватель кликов, но когда он скроется, все браузер снова откроет список тегов-тегов: init: function() { // Закрыть Tagfildlist при нажатии на метку Ext.getCmp ('mytagfield'). LabelEl.on (' click ', function() {Ext.getCmp (' mytagfield '). collapse();}); } –