Ho un problema con uan funzione (responseDone) che genera un evento js.
In poche parole utilizzo un iframe per passare dei parametri a una pagina asp ed elaborarli.
la pagina asp tramite un onload richiama la funzione (responseDone) e visualizza un tooltip personalizzato.
Coem vedete però illa funzione responseDone richiede due parametri:
responseDone(out,e)
"out" è il testo prodotto dalla pagina asp ed "e" è il parametro event che acquisisce valore quando si passa sopra un area sensibile con il mouse indicando , suppongo, le coordinate in px dove dovrebbe apparire il tooltip.
MA come vedete io richiamo la funzione show() che dopo l'elaborazione passa un parametro alla funzione responseDone grazie a :
<body onload="window.parent.responseDone('stringa');">
IL risultato attuale è che il tooltip si crea ma si visualizza non posizionandosi nell'area del puntatore ma in una div con posizionamento assoluto.
Invece vorrei che il tooltip si visualizzasse nell'area vicino al puntatore.
La soluzione potrebbe essere facile memorizzando il valore di event in uan variabile...e poi passarlo tramite l'onload alla funzione response.Done.
MA non sono sicuro che possa funzionare non conoscendo bene la funzione event.
Di seguito il codice:
codice:
<script language="javascript" type="text/javascript">
function show(code)
{
document.getElementById("codeSender").src = "include/ajax.asp?prov="+ code ;
}
function responseDone(out,e){
if(document.all)e = event;
document.getElementById("codeSender").src = "";
var obj = document.getElementById('bubble_tooltip');
var obj2 = document.getElementById('bubble_tooltip_content');
obj2.innerHTML = out;
obj.style.display = 'block';
var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
var leftPos = e.clientX - 100;
if(leftPos<0)leftPos = 0;
obj.style.left = leftPos + 'px';
obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
out="";
}
function hideToolTip()
{
document.getElementById('bubble_tooltip').style.display = 'none';
}
</script>
<iframe style="display:none" id="codeSender"></iframe>