Запрет дальнейшей обработки событий внутри обработчика
Здравствуйте!
Почему нельзя запретить дальнейшую обработку событий по return false; ? Ext JS 5.1.0 - может баг этой версии экста? Например следующий код не запрещает браузеру выводить свое контекстное меню:
Ext.onReady(function() {
Ext.getBody().on("contextmenu", function() {
Ext.Msg.alert("contextmenu", "contextmenu");
return false;
});
});
ПС. И кстати, тут код вообще не работает https://fiddle.sencha.com/#fiddle/l2d Хотелось бы тоже понять почему. |
после Ext.getBody() не надо запускать getEl(), вам консоль об этом говорит:
TypeError: Ext.getBody(...).getEl is not a function http://docs.sencha.com/extjs/5.1/5.1...method-getBody Пустое тело не имеет высоты: alert(Ext.getBody().getHeight()); Остановить дефолтное поведение браузера помогает первый параметр, передаваемый в обработчик события:
Ext.onReady(function() {
var body = Ext.getBody();
alert(body.getHeight());
body.setHeight(1000);
body.on("contextmenu", function(e) {
e.stopEvent();
Ext.Msg.alert("fdfsd");
});
});
пример |
Спасибо! Чудеса, раньше было просто return false, а теперь какой-то спец-метод)))
|
| Часовой пояс GMT +3, время: 21:42. |