1

私はカラーピッカーに取り組んでいます。私の考えは、カラーピッカー内の色をクリックしながら、Ajax リクエストを介して MySQL データベースを更新することです。farbtastic カラーピッカーを使用しています。私の問題は、ボタンが押されている間にマウスを動かすと、色が変化するため、多くの要求があることです (何が起こるかが明確であることを願っています)。これは私のコードです:

$('.colorpicker').live('click', function() {
    $this = $(this);
    $.farbtastic('#picker').linkTo(function(color){
            $this.css({'backgroundColor':color});
            $.ajax({
                    type:"GET",
                    url:"data.php?color="+color,
                    success: function(data){
                    /* SOME EVENTS */
                    }
            });
    });
    return false;
});

.colorpickerそれは私のdivです(背景色を変更する場所)

#pickerそれはfarbstaticカラーピッカーです

マウスをクリックして移動しているときにすべての(AJAX)リクエストを「スキップ」する方法は? 「mouseup」の直前の最後のリクエストだけをキャッチしたいですか?

4

1 に答える 1

2

非表示フィールドまたは javascript 変数を使用して選択した色をキャプチャし、マウスを離すと ajax リクエストを開始します。このようなもの:

var colorselected = null;

$('.colorpicker').live('click', function() {
  $this = $(this);
  $.farbtastic('#picker').linkTo(function(color){
        $this.css({'backgroundColor':color});
        colorselected = color;
  });
  return false;
});

$("#picker").mouseup(function() {
  $.ajax({
    type:"GET",
     url:"data.php?color="+colorselected,
      success: function(data){
       /* SOME EVENTS */
       }
  });
});

これにより、不要な ajax リクエストがすべて回避されます。

于 2012-04-04T13:05:46.770 に答える