Я пытаюсь сделать так, чтобы, когда пользователь щелкает вниз, это происходит.
В порядке,
Делает что-то. (Не будучи конкретным, это не важная часть.)
Вызывается Mouse up.
Использование: угловой, html, css. Не использовать: jQuery
Какие-либо предложения? Благодарю!
Вы придаете два слушателя событий, один в то время как пользователь мыши нажатой mousedown
. Как только пользователь отпустит событие mouseup
запускается. Все прослушиватели событий мыши передают объект event
вы можете использовать для получения информации о событии, то есть: mouse x и y. event.preventDefault()
из доступных методов - event.preventDefault()
это остановит браузер делать то, что он обычно хочет сделать, Пример: cmd/ctrl + s
заставит браузер сохранить страницу html. preventDefault
остановит это.
document.addEventListener('mousedown' function (event) {
// Do something
})
document.addEventListener('mouseup', function (event) {
event.preventDefault()
})
Чтобы ответить на комментарий ОП:
var noMouseUp = true
document.addEventListener('mousedown', function () {
if (noMouseUp) {
// do something
noMouseUp = false
}
})
document.addEventListener('mouseup', function (event) {
if (!noMouseUp) {
noMouseUp = true
}
})
Использовать events.preventDefault();
в обратном вызове mouseup.
Используйте, сразу после, event.stopPropagation();
чтобы избежать передачи события другим слоям.
bypassed_element.onclick = function(event){
event.preventDefault();
event.stopPropagation();
};
$scope.insertString = function(letter) { //$scope.name = $scope.name + letter; $scope.name = [$scope.name.slice(0,$scope.cursorPosVal),letter,$scope.name.slice($scope.cursorPosVal)].join(''); console.log($scope.name); setTimeout(function(){ setCaretPosition("inputBox", $scope.cursorPosVal); }, 5); };
Если это мой код, обернул бы я его .onclick =?