С выпуском AngularJS 1.2.0-rc.3 я возился с ngCut
, ngCopy
и ngPaste
, но я не смог их отменить. Я решил, что спецификация не позволяет этого, но это так. Это должно быть возможно ... на самом деле не может найти ничего, ища (только об отмене распространения). Есть идеи?Как я могу отменить ngEvent?
2
A
ответ
4
Не уверен, что вы имеете в виду именно по «отменить событие», но то, что вы можете сделать с события:
preventDefault()
поэтому действие по умолчанию, что это событие, как правило, запуск не происходитstopPropagation()
поэтому событие не BUBLE вверх в DOM herarchy
Я предполагаю, что вы хотите, чтобы отменить действие по умолчанию, то есть вызовите preventDefault()
на событие:
$scope.cut = function ($event) {
console.log('cut', $event);
$event.preventDefault();
}
jsFiddle здесь: http://jsfiddle.net/M5jRW/
1
Вы можете установить $event.returnValue
ложь:
function x($scope) {
$scope.cut = function ($event) {
$event.returnValue = false;
console.log('cut', $event);
}
$scope.kp = function ($event) {
console.log('keypress', $event);
return false;
}
}
Вот ваша обновленная скрипка: http://jsfiddle.net/XEEpv/1/
+0
$ event.returnValue теперь осуждается: * event.returnValue осуждается. Вместо этого используйте стандартное событие event.preventDefault() * – Langdon
Смежные вопросы
- 1. Как я могу отменить?
- 2. Как я могу отменить Form_Load?
- 3. Как я могу отменить диалог?
- 4. Как я могу отменить переход?
- 5. Как я могу отменить performSelectorOnMainThread?
- 6. Как я могу отменить IEnumerable?
- 7. Как я могу отменить Window.ClosingEvent?
- 8. Как я могу отменить setTimeout?
- 9. Как я могу отменить редактирование в CListCtrl, нажав клавишу «Отменить»?
- 10. Как я могу реализовать обновление SQL, которое я могу отменить?
- 11. Могу ли я отменить deviceToken?
- 12. Как я могу отменить с Device.StartTimer?
- 13. как я могу отменить регистрацию в андроиде?
- 14. Как я могу отменить зависающую задачу?
- 15. Как я могу немедленно отменить операцию завивки?
- 16. Как я могу отменить запуск Spring-Boot?
- 17. Как я могу отменить ExecuteReaderAsync с CancellationToken
- 18. Как я могу отменить вызов AJAX?
- 19. Как я могу отменить AsynsTask в Android?
- 20. Как я могу отменить код на Android?
- 21. Как я могу отменить - [UIScrollView zoomToRect: animated:]?
- 22. В Vim, как я могу отменить открытие?
- 23. Как я могу отменить WPF TreeView пользователя?
- 24. ROracle висит, как я могу отменить запрос
- 25. Как я могу отменить/остановить фонового работника?
- 26. Как я могу отменить дублирование кода здесь?
- 27. Как я могу отменить addRule-Rules?
- 28. Как я могу отменить onblur в onkeydown?
- 29. Как я могу отменить установку переменной PATH?
- 30. Как я могу «отменить» сборку gulp
Ahh, это имеет смысл для меня сейчас ... Угловой не знает, что '$ scope.cut' привязан к событию, которое можно отменить, поэтому оно не заботиться о возвращаемом значении. 'preventDefault' и' $ event.returnValue' (ответил Джон), чтобы получить то, что я хочу. Кажется, что '$ event.returnValue' может быть больше в соответствии с угловым способом, а? – Langdon
@ Langdon не уверен, какие критерии вы использовали для штампа '$ event.returnValue' как« больше AngularJS way »:-) –
Я думаю, что он означает, что' returnValue' больше соответствует вводу/выводу, а 'preventDefault' - больше побочного эффекта. – sonicblis