comportement double clic étrange Flex
-
22-08-2019 - |
Question
Lorsque vous utilisez un double clic activer sur un composant, parfois j'ai du mal à activer la double clic.
Je compris que si je passe entre mon rythme rapide simple clic il ne sera jamais déclencher un événement double clic. Si, cependant, je ne bouge pas la souris entre les clics alors le double-clic est tiré.
Je pense à l'aide de la minuterie pour obtenir mon double-clic.
Comment voulez-vous résoudre ce problème?
Exemple
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
<mx:Canvas id="bg" width="100%" height="100%" backgroundColor="white" />
<mx:Script>
<![CDATA[
private function init():void {
var cvstest:Canvas = new Canvas();
cvstest.width = 200;
cvstest.height = 200;
cvstest.x = 100;
cvstest.doubleClickEnabled = true;
cvstest.addEventListener(MouseEvent.DOUBLE_CLICK, dc);
cvstest.addEventListener(MouseEvent.MOUSE_DOWN, md);
cvstest.setStyle("backgroundColor",0xff0000);
this.addChild(cvstest);
}
public function dc (e:MouseEvent) : void {
trace("DOUBLE CLICK ON TEST CANVAS");
}
public function md (e:MouseEvent) : void {
trace("SINCLICK ON TEST CANVAS");
}
]]>
</mx:Script>
</mx:Application>
La solution
Sur mon trackpad, votre code fonctionne parfaitement bien, mais je suppose que ce parce qu'il est terriblement difficile de déplacer la souris entre les clics.
Si j'utilise mon wacom, il semble que mon double clic ne réussit environ 1/3 du temps.
Il y a aussi ceci: http://bugs.adobe.com/jira/browse/FP-15: (
Autres conseils
Je peux résoudre ce problème en ouvrant la classInterval
et appelant une validation différée.