Hiện nay, vấn đề với md-hide-icons="all"
và md-open-on-focus
sử dụng cùng là, khi bạn nhấp bên ngoài, trọng tâm vẫn còn trên đầu vào. Tuy nhiên, vì không có biểu tượng nào để nhấp và tiêu điểm đã có trên đầu vào nên không có cách nào để chúng tôi có thể mở datepicker.
Nếu bạn click bên ngoài, và nhấp vào bên ngoài một lần nữa, tập trung từ đầu vào đã biến mất, và nó sẽ làm việc bình thường từ đó trên mà nên coi là có hành vi dự kiến .
Nhưng nếu bạn không muốn hành vi như vậy, chúng tôi có thể làm điều gì đó để thay đổi nó!
Bây giờ, có một cái nhìn vào mã datePicker
, trong closeCalendarPane
chức năng, họ có
self.calendarPaneOpenedFrom.focus();
đó là trách nhiệm giữ tập trung vào đầu vào. Nếu chúng tôi xóa nó, nó sẽ mất tập trung khi nhấp vào bên ngoài (hoặc chọn ngày từ bộ chọn) chính xác là những gì chúng tôi muốn. Họ có một số đầu vào xử lý mã khi openOnFocus
là đúng nhưng không chắc chắn cách giúp!
Forked jsfiddle (thay đổi dòng ở vị trí # 31.449)
Ngoài ra, thay đổi mã thư viện không phải là những gì chúng ta sẽ thường muốn làm.Vì vậy, bây giờ, bạn có thể có một cách giải quyết giống như có một callback trên md-is-open
và loại bỏ sự tập trung từ các yếu tố đầu vào bên trong gọi lại bằng cách yêu thích của bạn (jQuery
/angular.element
hoặc tinh khiết JS) [Như đã đề cập bởi @quirimmo]
Hope những sự giúp đỡ đó!