Beetje rare topictitel, maar wat ik wil bereiken is het best zo te omschrijven. Ik wil een plaatjes-gebasseerd knopje maken dat zich exact zo gedraagt als een standaard input element met type= "button" of type = "submit", maar dan dus met 1 plaatje voor de up-state en 1 voor de down-state:
Klik de button aan, maar houdt de muisknop ingedrukt. Er gebeurt niks, alleen het plaatje verandert. Je kunt met je ingedrukte muis nu je hele desktop rond, maar het enige object dat reageert is het gedrukte knopje wanneer je daar weer overheen/vanaf gaat. Laat je de muis los boven het object dan vuurt ie bv een submit event af, laat je em erbuiten los dan laat ie het zitten.
Ik heb dit nu wel grotendeels werkend, middels een globale variabele (g_oActiveButton) op de pagina die gelijk is aan het laatstgeklikte knopje, of null. Deze zorgt ervoor dat mouseouts en mouseovers alleen effect hebben op een "gemousedownde", ofwel actieve knop.
Het probleem is alleen, dat ik niet weet hoe ik die variabele weer op null krijg wanneer ik de button aanklik (mousedown), terwijl ik de knop ingedrukt houd de muispointer van de knop wegbeweeg (mouseout), en dan ergens anders de knop weer loslaat. Er is dan geen onclick of onmouseup event dat gefired wordt, die vuren immers alleen waneer de muis boven je object zit. Het probleem is dan dat m'n zogenaamd actieve knopje ook weer z'n downstate laat zien wanneer ik slechts mouseover doe, zonder dat ik em eerst actief gemaakt heb met een mousedown, immers (g_oActiveButton != null)...
Dus ik zoek eigenlijk een soort event "mouseupanywhereexceptthisobject". Dat bestaat geloof ik niet. Iemand een oplossing??
Klik de button aan, maar houdt de muisknop ingedrukt. Er gebeurt niks, alleen het plaatje verandert. Je kunt met je ingedrukte muis nu je hele desktop rond, maar het enige object dat reageert is het gedrukte knopje wanneer je daar weer overheen/vanaf gaat. Laat je de muis los boven het object dan vuurt ie bv een submit event af, laat je em erbuiten los dan laat ie het zitten.
Ik heb dit nu wel grotendeels werkend, middels een globale variabele (g_oActiveButton) op de pagina die gelijk is aan het laatstgeklikte knopje, of null. Deze zorgt ervoor dat mouseouts en mouseovers alleen effect hebben op een "gemousedownde", ofwel actieve knop.
Het probleem is alleen, dat ik niet weet hoe ik die variabele weer op null krijg wanneer ik de button aanklik (mousedown), terwijl ik de knop ingedrukt houd de muispointer van de knop wegbeweeg (mouseout), en dan ergens anders de knop weer loslaat. Er is dan geen onclick of onmouseup event dat gefired wordt, die vuren immers alleen waneer de muis boven je object zit. Het probleem is dan dat m'n zogenaamd actieve knopje ook weer z'n downstate laat zien wanneer ik slechts mouseover doe, zonder dat ik em eerst actief gemaakt heb met een mousedown, immers (g_oActiveButton != null)...
Dus ik zoek eigenlijk een soort event "mouseupanywhereexceptthisobject". Dat bestaat geloof ik niet. Iemand een oplossing??