Привязка переменных к каждому элементу
Здравствуйте.
Сверстать клавиатуру и выводить на определенную область вводимые буквы после клика. Мне к каждой букве на клавиатуре нужно дать переменную... Подскажите как это сделать? Хотя бы дайте правильно начать, чтобы не тратил в пустую времени |
Цитата:
Не проще делегировать обработчик события click ближайшему родителю каждой кнопки? |
<div id="result"></div>
<div id="keyboard">
<span>q</span>
<span>w</span>
<span>e</span>
<span>r</span>
<span>t</span>
<span>y</span>
</div>
<script>
document.querySelector('#keyboard').addEventListener('click',function(event){
if(this!==event.target)
document.querySelector('#result').innerHTML+=event.target.innerHTML;
});
</script>
|
Это Ангуляр?
|
Djambulat, прошу прощения за невнимательность, это javascript :)
|
Ничего)) А с ангуляром не сможешь?
|
Djambulat, к сожалению нет.
|
Мой "Hello World!"
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
</head>
<body>
<main ng-controller="AppController">
<div >{{ inputstring }}</div>
<div>
<span ng-click="getLetter('q')">q</span>
<span ng-click="getLetter('w')">w</span>
<span ng-click="getLetter('e')">e</span>
<span ng-click="getLetter('r')">r</span>
<span ng-click="getLetter('t')">t</span>
<span ng-click="getLetter('y')">y</span>
</div>
</main>
<script>
(function() {
'use strict';
angular
.module('app', [])
.controller('AppController', ['$scope', function($scope) {
$scope.getLetter = function(letter) {
$scope.inputstring = ($scope.inputstring?$scope.inputstring:"") + letter ;
};
}]);
})();
</script>
</body>
</html>
|
"Hello World!" дубль два :)
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
</head>
<body>
<main ng-controller="AppController">
<div >{{ inputstring }}</div>
<div>
<span ng-repeat='b in letter' ng-click="getLetter(b)"> {{b}}</span>
</div>
</main>
<script>
(function() {
'use strict';
angular
.module('app', [])
.controller('AppController', ['$scope', function($scope) {
$scope.letter = 'qwerty';
$scope.inputstring = "";
$scope.getLetter = function(letter) {
$scope.inputstring += letter ;
};
}]);
})();
</script>
</body>
</html>
|
Спасибо. А как прописать кнопку backspace, чтобы удаляла последнюю букву?))
|
| Часовой пояс GMT +3, время: 06:36. |