1

そのため、マウスを下にするとボタンのスタイルを変更し、上に移動すると前のボタンに戻るようにします。私はこのコードを持っています:

$('#divMenu > #menu li a').mousedown(function(){
  $(this).css({
  'font-size': '25px',  
  'color': 'red'     
  });               
}).mouseup(function(){
  $(this).css({
  'font-size': '30px',  
  'color': 'black'     
  });               
});

問題は、マウスを下に置いたが、オブジェクトから外してすぐに離さない場合、フォントサイズと色が25pxと赤のままになることです。それを渡すにはどうすればよいですか?

編集:ここでJsFiddle: http: //jsfiddle.net/h64Uz/

4

3 に答える 3

6

マウスアウトも使用する必要があります。

$('#divMenu > #menu li a').mousedown(function(){
  $(this).css({
  'font-size': '25px',  
  'color': 'red'     
  });               
}).mouseup(function(){
  $(this).css({
  'font-size': '30px',  
  'color': 'black'     
  });               
}).mouseout(function(){
  $(this).css({
  'font-size': '30px',  
  'color': 'black'     
  });               
});

イベントコードは、マウスがクリックされたときにcssを設定します。離れると、マウスアップを登録できなくなります。しかし、それを離れると、mouseoutイベントが登録されます。

于 2013-01-08T03:51:56.263 に答える
1

jQueryにはmouseleave()、既存のコードを補足するために使用できるイベントがあります。

于 2013-01-08T03:53:16.863 に答える
1

jQueryこれは機能するはずです(バージョン1.7以降を使用していると仮定):

$('#divMenu > #menu li a').on("mousedown", function () {
  $(this).css({
    'font-size': '25px',
      'color': 'red'
  });
}).on("mouseup mouseout", function () {
  $(this).css({
    'font-size': '30px',
      'color': 'black'
  });
});
于 2013-01-08T03:53:48.370 に答える