隨着AngularJS 1.2.0-rc.3的發佈,我正在搞ngCut
,ngCopy
和ngPaste
,但我無法取消它們。我認爲規範不允許,但它確實如此。這是可能的...不能通過搜索找到任何東西(僅僅是取消傳播)。有任何想法嗎?如何取消ngEvent?
2
A
回答
4
不知道你的意思究竟是 「取消事件」,但你可以做什麼事件是:
preventDefault()
這樣的默認操作,此事件通常觸發不會發生stopPropagation()
因此事件不會在DOM herarchy佈雷最多
我假定你想取消默認的動作,也就是,呼籲preventDefault()
對事件:
$scope.cut = function ($event) {
console.log('cut', $event);
$event.preventDefault();
}
的jsfiddle這裏:http://jsfiddle.net/M5jRW/
1
您可以設置$event.returnValue
爲false:
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. 如何取消註冊/取消UILocalNotification
- 2. 如何取消Alamofire.upload
- 3. 如何取消performBlock:
- 4. Numba:如何取消
- 5. 如何取消JobIntentService
- 6. 如何取消IEnumerable?
- 7. 如何取消Notification.FLAG_FOREGROUND_SERVICE
- 8. 如何取消alertdialog?
- 9. 如何取消PendingIntent
- 10. 如何取消HostingEnvironment.QueueBackgroundWorkItem
- 11. 如何取消SaveChanges
- 12. 如何取消AlertDialog.Builder
- 13. 如何取消handler.postDelayed?
- 14. 如何取消Stream.ReadAsync?
- 15. 如何取消AsyncTask
- 16. 如何取消Window.ClosingEvent?
- 17. 如何取消Meteor.setTimeout?
- 18. 如何取消UIWebView?
- 19. 如何取消chooseDesktopMedia?
- 20. 如何取消Toast
- 21. 如何取消UITapGestureRecognizer?
- 22. 如何取消jquery.load()?
- 23. 如何取消NSOperationQueue
- 24. 如何取消NSBlockOperation
- 25. 如何取消AlarmManager
- 26. 如何取消AVAudioSession
- 27. 如何取消ProgressBar?
- 28. 如何取消window.print();
- 29. 如何「取消」window.scroll()
- 30. 如何取消uitouches?
嗯,這對我來說現在是有意義的... Angular不知道'$ scope.cut'綁定到一個可以取消的事件,所以它不會關心返回值。 'preventDefault'和'$ event.returnValue'(約翰回答)讓我得到我想要的。似乎儘管'$ event.returnValue'可能更符合Angular的方式,呃? – Langdon
@Langdon不知道你用什麼標準將'$ event.returnValue'標記爲「更多AngularJS方式」:-) –
我認爲他的意思是'returnValue'更符合輸入/輸出,而'preventDefault'是更多的是副作用。 – sonicblis