actionscript 3 - AS3: in addEventListener external anonymous function is not running -


असल में मुझे यह कार्य है:

  निजी फ़ंक्शन clickURL (url: string): फ़ंक्शन {ट्रेस ("फ़ंक्शन को तत्काल दिया गया है"); रिटर्न फ़ंक्शन (इवेंट: माउसईवेंट): शून्य {ट्रेस ("फ़ंक्शन रन हो गया है"); ExternalNavigation.newBrowserWindow (यूआरएल); }}  

इस फ़ंक्शन का उद्देश्य एक यूआरएल लेना है, यूआरएल को किसी अन्य फ़ंक्शन में डाल देना और उस फ़ंक्शन को वापस करना है ताकि मैं बस टाइप कर सकता हूं:

  UrlButton.addEventListener (MouseEvent.CLICK, clickURL ("http://test.com"));  

फ़ंक्शन clickURL वापस ईवेंट पैरामीटर के साथ addEventListener फ़ंक्शन पर फ़ंक्शन वापस करेगा। इस तरह से मैं निर्दिष्ट करता हूँ कि यूआरएल क्या होगा जब आप बटन दबाएंगे।

यह तब होता है जब आप इसका इस्तेमाल करते हैं, तब का उत्पादन होता है:

  // फ़ंक्शन को चालू कर दिया गया है  

इन्स्टालनल फ़ंक्शन कभी नहीं होता है जब आप बटन क्लिक करते हैं तो रन करें तो मैंने सोचा कि मैं किसी नकली घटना के साथ कोशिश करूँगा ताकि मुझे कुछ भी याद न पड़े।

  var clickTest: फ़ंक्शन = clickURL ("http://stackoverflow.com"); क्लिक टेस्ट (नया माउसइवेंट (माउसईवेंट.किलिक));  

यहां आउटपुट दिया गया है:

  // फ़ंक्शन चालू हो गया है / फ़ंक्शन चलाया गया है  

जैसा कि आप देख सकते हैं, दोनों फ़ंक्शन चलाए जाते हैं। क्या किसी को यह पता चला है कि यह क्यों काम कर रहा है और addEventListener के साथ नहीं?

सादर Z

यह एक समस्या के बिना काम करना चाहिए ...

क्या आप urlButton.addEventListener (MouseEvent.CLICK, trace) करते हैं, और बटन पर क्लिक करते हैं?

संपादित करें:

> मैं वास्तव में इसे पुन: उत्पन्न नहीं कर सकता ... यहाँ कुछ कोड है जो पूरी तरह से कार्य करता है:

  पैकेज {import flash.display। *; Import flash.events। *; पब्लिक क्लास मेन स्प्राइट प्रदान करता है {निजी var url बटन: स्प्राइट; सार्वजनिक कार्य मुख्य (): शून्य {this.addChild (this.urlButton = नया स्प्राइट ()); this.urlButton.graphics.beginFill (0xFF00FF); This.urlButton.graphics.drawRect (0, 0, 200, 50); UrlButton.buttonMode = सच; UrlButton.addEventListener (MouseEvent.CLICK, clickURL ("http://test.com")); } निजी फ़ंक्शन clickURL (url: स्ट्रिंग): फ़ंक्शन {ट्रेस ("फ़ंक्शन को तत्काल दिया गया है"); रिटर्न फ़ंक्शन (इवेंट: माउसईवेंट): शून्य {ट्रेस ("फ़ंक्शन रन हो गया है"); }}}}  

क्या आप शायद एक न्यूनतम सेटअप पोस्ट / अपलोड कर सकते हैं, जहां यह काम नहीं करता?

बधाई

back2dos


Comments

Popular posts from this blog

c++ - Linux and clipboard -

Visual Studio 2005: How to speed up builds when a VSMDI is open? -

booting ubuntu from usb using virtualbox -