2010-02-28 24 views
3

J'ai remarqué que si je souris sur un bouton, déplacer mon pointeur de la zone du bouton, puis revenir sans relâcher le bouton, il se souvient encore que je « souris abattu » sur le bouton.Quel événement de souris?

Je suis en train de définir des styles de bouton de façon appropriée, quelqu'un pourrait-il me éclairer l'événement JavaScript/JQuery correcte à utiliser pour cela?

Je détesterais d'utiliser une sorte de contre pour cela.

EDIT: OK solution hacky actuelle;

mondial appelé hotbutton

$('.thisbutton').onmouseenter{if (hotbutton='thisbutton'){drawmousedowntheme();}} 

    $('.thisbutton').onmousedown{hotbutton='thisbutton';drawmousedowntheme();} 

$(document).onmouseup{hotbutton=''} 

Répondre

1

mousedown même devrait faire l'affaire:

$("#button_id").mousedown(function(){ 
    $(this).css('color', '#00ff00'); 
}); 
+0

- bouton> passe au vert, puis a suivi avec mouseout-> bouton devient rouge, puis quand je re-entrer sur le bouton, il sera toujours rouge quand il a besoin d'être vert. – maxp

2

Ce que je fais est:

  • Ajouter un style ("hot") dans le mouseover gestionnaire;
  • Ajoutez un autre style ("actif") dans le gestionnaire de souris;
  • Supprimer "actif" dans le gestionnaire de mouseup;
  • Retirez les deux « actifs » et « chaud » dans le gestionnaire mouseout

La réelle choses importantes que je lie toujours à « cliquer ».

0

Pourquoi utiliser jQuery? Réglez-le en CSS, et le navigateur le fera pour vous (n'est-ce pas?).

bien mousedown
+0

<= IE7 ne fonctionne pas. – maxp

+0

Parce qu'ils ne peuvent pas dire les types d'entrée? Vous pouvez certainement utiliser jQuery pour cela, ou mettre des noms de classe vous-même. Le jQuery serait: $ ("input [type = 'quelquechose']"). AddClass ("quelquechose"); –

+0

En outre, à partir de la spécification: "CSS 2.1 ne définit pas si le parent d'un élément qui est ': actif' ou ': hover' est également dans cet état.". – Pointy

Questions connexes