Problème drag and drop firefox onMouseUp
julien1451
Messages postés
178
Statut
Membre
-
julien1451 Messages postés 178 Statut Membre -
julien1451 Messages postés 178 Statut Membre -
Bonjour à tous, voilà je suis en train de réaliser une scrollbar en javascript, mais le problème c'est qu'il y a une fonctionnalité de firefox qui me fait bugué mon onMouseUp. Pour le moment je ne fais que déplacer une image en X et en Y en fonction de la position de la souris. Le problème c'est que dans firefox, on peut glisser déplacer des images pour les récupérer et je voudrais désactiver cette fonctionnalité sur l'image en javascript afin que mon onMouseUp fonctionne correctement. Pouvez vous m'aider svp ? Merci d'avance.
Voici le code source au cas où cela serait nécessaire :
[code]<html>
<head>
<title>test</title>
<style type="text/css">
#logo
{
position:absolute;
}
</style>
<script type="text/javascript">
var scrollbar=false;
function dep_image()
{
/*Lorsque l'évènement survient on fait appel à la fonction position*/
document.onmousemove=position;
}
function position(ev)
{
if(scrollbar==true)
{
var coordX;
var coordY;
if(navigator.appName=="Microsoft Internet Explorer")
{
coordX=window.event.clientX;
coordY=window.event.clientY;
document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
}
else
{
/*on récupère la position en X et en Y de la souris*/
coordX=ev.clientX;
coordY=ev.clientY;
document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
}
document.getElementById("logo").style.marginTop=coordY+"px";
document.getElementById("logo").style.marginLeft=coordX+"px";
}
}
function stop_dep()
{
document.onmousemove=null;
}
function activer_scrollbar()
{
/*permet de s'assurer que l'utilisateur a bien le clic enfoncé sur la barre de défilement*/
scrollbar=true;
}
function desactiver_scrollbar()
{
/*lorsque l'utilisateur a relaché le clic on désactive le défilement*/
scrollbar=false;
}
</script>
</head>
<body onMouseDown="dep_image();" onMouseUp="stop_dep();">
<img id="logo" src="logo-ubuntu.png" onMouseDown="activer_scrollbar();" onMouseUp="desactiver_scrollbar();">
<div id="position_souris"></div>
</body>
</html>/code
Voici le code source au cas où cela serait nécessaire :
[code]<html>
<head>
<title>test</title>
<style type="text/css">
#logo
{
position:absolute;
}
</style>
<script type="text/javascript">
var scrollbar=false;
function dep_image()
{
/*Lorsque l'évènement survient on fait appel à la fonction position*/
document.onmousemove=position;
}
function position(ev)
{
if(scrollbar==true)
{
var coordX;
var coordY;
if(navigator.appName=="Microsoft Internet Explorer")
{
coordX=window.event.clientX;
coordY=window.event.clientY;
document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
}
else
{
/*on récupère la position en X et en Y de la souris*/
coordX=ev.clientX;
coordY=ev.clientY;
document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
}
document.getElementById("logo").style.marginTop=coordY+"px";
document.getElementById("logo").style.marginLeft=coordX+"px";
}
}
function stop_dep()
{
document.onmousemove=null;
}
function activer_scrollbar()
{
/*permet de s'assurer que l'utilisateur a bien le clic enfoncé sur la barre de défilement*/
scrollbar=true;
}
function desactiver_scrollbar()
{
/*lorsque l'utilisateur a relaché le clic on désactive le défilement*/
scrollbar=false;
}
</script>
</head>
<body onMouseDown="dep_image();" onMouseUp="stop_dep();">
<img id="logo" src="logo-ubuntu.png" onMouseDown="activer_scrollbar();" onMouseUp="desactiver_scrollbar();">
<div id="position_souris"></div>
</body>
</html>/code
A voir également:
- Problème drag and drop firefox onMouseUp
- Share drop - Télécharger - Téléchargement & Transfert
- Downloadhelper firefox - Télécharger - Outils pour navigateurs
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Telecharger firefox - Télécharger - Navigateurs
- Exporter favoris firefox - Guide
2 réponses
Ca y est j'ai trouvé :
dans le body j'ai rajouté un évènement onload="init();"
function init()
{
document.addEventListener("mousedown",test,false);
}
ensuite dans dep_image j'ai rajouté event en paramètre pour récupérer l'évènement mousedown ==> dep_image(event)
function dep_image (objet_event)
{
objet_event.preventDefault();
//suite du code
}
Et le tour est joué, FF ne m'embête plus avec son drag and drop sur les images
dans le body j'ai rajouté un évènement onload="init();"
function init()
{
document.addEventListener("mousedown",test,false);
}
ensuite dans dep_image j'ai rajouté event en paramètre pour récupérer l'évènement mousedown ==> dep_image(event)
function dep_image (objet_event)
{
objet_event.preventDefault();
//suite du code
}
Et le tour est joué, FF ne m'embête plus avec son drag and drop sur les images
j'ai trouvé un truc a propos de preventDefault mais le problème c'est que si je l'utilise mon script ne fonctionne plus. Si je ne suis pas assez clair dans ma question, le site en anglais http://develobert.blogspot.com/2008/10/disable-firefox-image-drag.html résume très bien mon problème mais je ne sais pas comment utiliser la solution qu'il apporte