AS3

2011-09-23 13 views
5

में क्लिक ईवेंट अनुकरण करें AS3 में एक क्लिक ईवेंट अनुकरण करने का कोई तरीका है? मैं यह कोशिश कर रहा हूं:AS3

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false)); 

लेकिन क्लिक करें ईवेंट इसे ट्रिगर नहीं करता है।

+0

आप किस तत्व को क्लिक करने के लिए अनुकरण करने की कोशिश कर रहे हैं? – stormbreaker

उत्तर

20

आप MouseEvent.CLICK के लिए सुन रहे हैं तो MouseEvent.CLICK प्रेषण। तो

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP, true, false)); 

MOUSE_UP घटना पर हैंडलर होगा मुद्दा: अब आप MouseEvent.MOUSE_DOWN

element.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
+0

मैं उत्सुक हूं, क्या फ्लैश का प्रेषण हैंडलर MOUSE_DOWN ईवेंट की फायरिंग रोक रहा है? – eLouai

+0

@eLouai अगर आप 'MOUSE_DOWN' ईवेंट के लिए सुन रहे हैं, तो फ़्लैश' क्लिक 'ईवेंट को संभाल नहीं पाएगा, और इसके विपरीत। माउस पर क्लिक करते समय 'MOUSE_DOWN' ईवेंट निकाल दिया जाता है, जब आप माउस को छोड़ते हैं तो' MOUSE_UP'। 'CLICK' ईवेंट 'MOUSE_DOWN' के बराबर है, उसके बाद' MOUSE_UP'। हालांकि, 'MOUSE_DOWN' और 'MOUSE_UP' को अलग से प्रेषित करने से' क्लिक करें 'ईवेंट –

+0

एडोब के दस्तावेज़ों के अनुसार वे स्पष्ट रूप से बताएंगे ..." एक क्लिक ईवेंट होने के लिए, इसे हमेशा क्रम में घटनाओं की इस श्रृंखला का पालन करना होगा घटना का: माउसडाउन इवेंट, फिर माउसअप। लक्ष्य ऑब्जेक्ट इन दोनों घटनाओं के लिए समान होना चाहिए; अन्यथा क्लिक इवेंट नहीं होता है। माउसडाउन या माउसअप इवेंट्स के बीच किसी भी समय अन्य माउस ईवेंट हो सकते हैं; क्लिक इवेंट अभी भी होता है। " लेकिन दुर्भाग्य से मैं इसे प्रभावित करने में असमर्थ प्रतीत होता हूं, इसलिए या तो सिस्टम किसी अन्य ईवेंट स्ट्रीम पर सुन रहा है, जिस पर यह प्रतिक्रिया करता है, या एक बग है। – eLouai

3

आपको एक MouseEvent.CLICK ईवेंट भेजना होगा।

element.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true, false)); 
0

भेजने कर रहे हैं एक क्लिक करें घटना आप प्रेषण करने के लिए पहली जरूरत है अनुकरण करने के लिए:

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false)); 

एक के बाद एक क्लिक इवेंट (यदि माउस तत्व से अधिक है, तो आपको प्रेषित ईवेंट में mouse_x और mouse_y चर सेट करने की आवश्यकता हो सकती है।

 संबंधित मुद्दे