角度材质(日期选择器)在任何基于键盘的操作后都聚焦在主体上
angular material (datepicker) focus is on body after any keyboard based operation
似乎使用日期选择器的每个操作都不会将焦点返回到日期选择器输入或按钮,因此选项卡索引返回到第一个元素。
您可以通过官方演示为例:https://material.angularjs.org/latest/demo/datepicker
查看源代码和调试 - 似乎焦点操作是在相关元素上触发的,但即便如此 - 焦点更改为文档正文。
/** Close the floating calendar pane. */
DatePickerCtrl.prototype.closeCalendarPane = function() {
if (this.isCalendarOpen) {
var self = this;
self.calendarPaneOpenedFrom.focus();
self.calendarPaneOpenedFrom = null;
if (self.openOnFocus) {
// Ensures that all focus events have fired before detaching
// the calendar. Prevents the calendar from reopening immediately
// in IE when md-open-on-focus is set. Also it needs to trigger
// a digest, in order to prevent issues where the calendar wasn't
// showing up on the next open.
this.$mdUtil.nextTick(detach);
} else {
detach();
}
}
function detach() {
self.detachCalendarPane();
self.isCalendarOpen = false;
self.ngModelCtrl.$setTouched();
self.documentElement.off('click touchstart', self.bodyClickHandler);
window.removeEventListener('resize', self.windowResizeHandler);
}
};
10 倍埃拉德。
日期选取器焦点问题中存在一个错误,因为内部的 SVG 元素没有传播焦点事件。
由克里斯贝托解决。
编号 : https://github.com/crisbeto/material/commit/e8d4ad217dd2ad5a8e8875f9bdc1269679667e3b
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- 主体上的addEventListener('mousemove',..)-有多糟糕
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- jQuery:暂停按钮可以暂停所有其他操作
- 用于选择/文本框操作的JavaScript
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 通过javascript操作图像,非常简单
- DOMNodeInserted在对主体执行DOM操作时表现得很奇怪
- 角度材质(日期选择器)在任何基于键盘的操作后都聚焦在主体上