Bất kỳ ai có thể cho tôi biết sự khác biệt giữa mục tiêu và mục tiêu hiện tại trong flex?Sự khác biệt giữa mục tiêu và mục tiêu hiện tại trong flex là gì?
Trả lời
Chắc chắn, tôi cũng gặp một số vấn đề với điều này. Thuộc tính currentTarget
là IEventListener bạn đã đăng ký trình xử lý sự kiện. Các target
là một trong đó gửi sự kiện mà bạn đang xử lý. Vì vậy, các thay đổi currentTarget
, các target
không.
Kiểm tra các ví dụ sau:
mẫu App
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="addListeners()">
<mx:Script>
<![CDATA[
protected function addListeners():void
{
greatGrandParent.addEventListener(Event.COMPLETE, completeHandler);
grandParent.addEventListener(Event.COMPLETE, completeHandler);
aParent.addEventListener(Event.COMPLETE, completeHandler);
child.addEventListener(Event.COMPLETE, completeHandler);
// dispatch event that "bubbles", second param is "true"
// dispatched from child
child.dispatchEvent(new Event(Event.COMPLETE, true));
}
protected function completeHandler(event:Event):void
{
trace("target: ", event.target + ", currentTarget: ", event.currentTarget);
}
]]>
</mx:Script>
<mx:Panel id="greatGrandParent">
<mx:Panel id="grandParent">
<mx:Panel id="aParent">
<mx:Button id="child"/>
</mx:Panel>
</mx:Panel>
</mx:Panel>
</mx:Application>
Output
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent.aParent.child
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent.aParent
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent
Đó là một cây đơn giản của các đối tượng hiển thị, và khi ứng dụng đã sẵn sàng tôi :
- Thêm người nghe cho cùng một sự kiện trên mỗi thành phần trong cây.
- Gửi một sự kiện tùy ý (chỉ để trình diễn). Tôi đã chọn
Event.COMPLETE
.
Kể từ khi tất cả mọi thứ đã đăng ký eventHandler cho sự kiện đó giống nhau, và kể từ khi tôi đã thiết bubbles
true (new Event(type, bubbles)
), bất cứ điều gì trong cây, từ trẻ đến greatGrandParent và xa hơn nữa, đã đăng ký một event handler cho Event.COMPLETE
, sẽ chạy phương thức đó: completeHandler
. Sự kiện di chuyển lên chuỗi rồi quay xuống. Các target
là một trong đó gửi đi sự kiện, vì vậy kể từ khi child
gửi nó, nó phải là hằng số. currentTarget
là những gì thay đổi.
Điều này có nghĩa là, giả sử bạn muốn kiểm tra thời điểm bạn đang di chuyển qua một DataGrid trong Flex, bạn muốn biết khi nào bạn cuộn qua hộp kiểm bên trong một trong những mụcRenderers trong DataGrid. Một cách là để thêmEventListener vào tất cả các hộp kiểm của ItemRenderer cho MouseEvent.ROLL_OVER
. Một cách khác là để addEventListener để DataGrid bản thân cho MouseEvent.ROLL_OVER
, và kiểm tra những gì mục tiêu là về sự kiện này:
protected function dataGrid_rollOverHandler(event:MouseEvent):void
{
// event.currentTarget is DataGrid
if (event.target is CheckBox)
trace("rolled over checkbox!");
}
Đó là cách tôi thường sử dụng event.target
.
Hy vọng rằng sẽ giúp, Lance
Như vậy có thể giúp:
http://livedocs.adobe.com/flex/3/html/help.html?content=events_08.html#219548
Bạn nên đi qua các hướng dẫn trên trang web này: http://www.adobe.com/devnet/flex/videotraining/ cho một giới thiệu về Flex trước khi hỏi một câu hỏi như thế này. Câu hỏi của bạn được đề cập đến vào ngày 1.
- 1. Sự khác biệt giữa C++, mục tiêu-c và mục tiêu-C++ là gì?
- 2. Sự khác biệt giữa _ và tự. trong Mục tiêu-C
- 3. Mục tiêu-C: sự khác biệt giữa id và void *
- 4. Sự khác biệt giữa mục tiêu-c và java
- 5. Sự khác biệt giữa isEqualToString và toán tử == trong Mục tiêu C là gì?
- 6. khác biệt giữa mã ký mục tiêu và dự án
- 7. Sự khác biệt giữa "Mục tiêu triển khai" và "Mục tiêu triển khai iOS" trong Xcode 4
- 8. "Tiêu đề HTTP thô" là gì? Sự khác biệt giữa "tiêu đề HTTP" và "tiêu đề HTTP thô" là gì?
- 9. Mục tiêu-C: Sự khác nhau giữa forKey và forKeyPath là gì?
- 10. Sự khác biệt giữa "+" và "-" trước tên hàm trong Mục tiêu-C
- 11. Sự khác biệt giữa MessageListener và Người tiêu dùng trong JMS là gì?
- 12. Whats sự khác biệt giữa Keyboard.Focus (mục) và item.Focus()?
- 13. Sự khác biệt giữa gmake và thực hiện là gì?
- 14. Sự khác biệt giữa các lớp C# một phần và các mục tiêu C?
- 15. Sự khác biệt giữa Maven plugin nguồn jar và jar-no-ngã ba mục tiêu?
- 16. Sự khác biệt giữa các thuộc tính thuộc tính trong mục tiêu-c
- 17. Sự khác biệt giữa tệp tiêu đề và không gian tên là gì?
- 18. UINavigationItem: Sự khác biệt giữa tiêu đề và lời nhắc
- 19. Nghĩa là gì trong mục tiêu-c?
- 20. Các loại mục tiêu khác nhau trong EDE là gì?
- 21. Sự khác biệt giữa Gói và Thư mục trong Java
- 22. Sự khác biệt giữa Danh mục và Thẻ trong Jekyll là gì?
- 23. Mục tiêu triển khai mục tiêu XCode 4 so với mục tiêu triển khai dự án
- 24. Lấy Thư mục Hiện tại trong Mục tiêu C
- 25. Tương đương với Math.abs() trong Mục tiêu-C là gì?
- 26. Trong Geb, sự khác biệt giữa hiển thị và hiện tại là gì?
- 27. Sự khác biệt giữa Flex/Lex và Yacc/Bison là gì?
- 28. 'Làm cho mục tiêu' là gì?
- 29. Sự khác biệt giữa build.sbt và build.scala là gì?
- 30. Có sự khác biệt lớn nào giữa mục tiêu-c và Java hay iPhone và Android không?