Autor Zpráva
Dero
Profil
Prosím o radu. Potřeboval bych pomocí javascriptu vynulovat v Opeře 7 atribut elementu, který řídí jeho chování při vyvolání určité události. Mám tento kód:

<p id="p" title="paragraph" onmousemove="this.style.background='grey'" onmouseout="this.style.background='white'" >Lipsum ...</p>

<script>
document.getElementById('p').onmouseover = "";
document.getElementById('p').onmouseover = null;

document.getElementById('p').setAttribute("onmouseover", null);
document.getElementById('p').setAttribute("onmouseover", "");
document.getElementById('p').setAttribute("onmouseover", " ");

document.getElementById('p').removeAttribute("onmouseover");
</script>


Chci, aby po najetí myši odstavec nezešedl. Moje pokusy vidíte, ani jeden nefunguje - zkoušel jsem i možné kombinace malých a velkých písmen, bez úspěchu. Jsem ochoten člověka, který toto vyřeší, titulovat "javascriptový mág" a týden se ráno co ráno klanět jeho podobizně.

Díky,
-- Dero
Leo
Profil
Co treba addEventListener a spol., to by snad Opera mohla zvladnout, Leo
Dero
Profil
Leo: To asi ano, vyjádřil jsem se nepřesně, potřebuji ten atribut opravdu vynulovat, nikoliv jen potlačit. Přiřazuji do něj totiž něco dalšího, co potřebuji, aby fungovalo - a řídit to další funkcí je cena, kterou staré Opeře nehodlám zaplatit.
Fred
Profil
Nějak to nechápu odstraňuješ mouseover, který v té ukázce není, musel by jsi přepsat ty druhé události. Možná jen nerozumím dotazu?
<script>
function clear(){
document.getElementById('p').onmouseover=function(){return false};
document.getElementById('p').onmousemove=function(){return false};
document.getElementById('p').onmouseout=function(){return false};

}
window.onload=clear
</script>
<p id="p" title="paragraph" onmousemove="this.style.background='grey'" onmouseout="this.style.background='white'" >Lipsum ...</p>
Dero
Profil
Fred: Jo, kápl jsi na to. Když se problém zdá nevyřešitelný, prověřme lidský faktor. Já se omlouvám - četl jsem to po sobě opravdu mnohokrát a neviděl jsem to tam. Jistěže nuluji atribut, který nemám nastavený. Jinak pro Operu 7 funguje už ten druhý způsob - document.getElementById('p').onmousemove = null;

Díky, Frede. Všem se omlouvám, že jsem jim tímto vzal čas.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0