1. JavaScript / Говнокод #22690

    −126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    export function enterAsTab() {
    	'ngInject';
    	let directive = {
    		restrict: 'A',
    		link: (scope, element) => {
    			element.bind('keydown keypress', (event) => {
    				if(event.which === 13) {
    					event.preventDefault();
    					var nextTr = element.next('tr');
    					var elementToFocus = undefined;
    					if(nextTr.length){
    						var inputs = nextTr.find('input');
    						elementToFocus = inputs[0];
    					}else{
    						var parent = element.closest('.modal-body');
    						var inputs = parent.find('input');
    						if(inputs.length > 1) {
    							elementToFocus = inputs[1];
    						}
    					}
    					
    					if(angular.isDefined(elementToFocus)) {
    						elementToFocus.focus();
    						elementToFocus.setSelectionRange(0, elementToFocus.value.length)
    					}else{
    					}
    				}
    				if(event.which > 32) {
    					if (scope.editingStarted === undefined || scope.editingStarted === false) {
    						scope.editingStarted = true;
    						scope.inputElementText = element[0].value;
    					}
    				}
    				if(event.which === 27){//Esc
    					if(scope.editingStarted === true){
    						scope.editingStarted = false;
    						element[0].value = scope.inputElementText;
    						event.stopPropagation();
    					}
    				}
    			});
    		}
    	}
    	return directive;
    }

    Вот так и живем - Ентер как Таб и undo ввода по Esc.

    Запостил: blackhearted, 28 Марта 2017

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код