入力タイプ範囲に対してイベントをトリガーまたはオン・イベントの終了を検出する方法。入力タイプ範囲の場合、オンチェンジの終了時にイベントをトリガーします
$('.slider').on('change',function(e){
console.log(e.target.value);
});
これで、範囲入力のドラッグを開始すると、コンソールログが返されます。私はonchangeイベントの終わりに価値を得たいと思っていました。これを達成する方法は?
はありがとう;)
入力タイプ範囲に対してイベントをトリガーまたはオン・イベントの終了を検出する方法。入力タイプ範囲の場合、オンチェンジの終了時にイベントをトリガーします
$('.slider').on('change',function(e){
console.log(e.target.value);
});
これで、範囲入力のドラッグを開始すると、コンソールログが返されます。私はonchangeイベントの終わりに価値を得たいと思っていました。これを達成する方法は?
はありがとう;)
ちょっとぐららんで、debounce
の機能をお試しください。イベントハンドラの起動を遅らせるので、入力値をonchange
イベントの最後に取得できます。 Lodash has a implementation of the debounce機能を使用できます。
$range.on('change', _.debounce(function() {
$display.text($(this).val());
}, 250));
ここでは少しdemoです。
これは完璧です!ありがとうございます:)これはまさに私が欲しがったのと同じように機能します変更イベントの終了後に発生します。乾杯;) –
ニースは問題ではありません!助けてうれしい! – dawchihliou
あなたがあればこれはmouseup
とmousedown
イベントを使用して、上記の例のように完全な答えのために、この
var prevValue = 0;
$('.slider').on('change',function(e){
});
// mouse down to check for previous value
$('.slider').on('mousedown',function(e){
prevValue = $(this).val();
});
// mouse up when the mouse up from the slider with end value
$('.slider').on('mouseup' , function(){
var ThisValue = $(this).val();
if(ThisValue !== prevValue){ // check new value with previous value
\t alert('Value Changed');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="slider" type="range" min="0" max="100"/>
ようmousedown
とmouseup
何かを使用することができます以前の値と新しい値を比較する必要があります。JYoThIと言っています。ハンゲイベントは、範囲の最後の値を取得するのに十分である
あなたがリアルタイムに
$('.slider').on('change',function(e){
console.log($(this).val());
});
//update sliderCount div with real time value
$('.slider').on('input',function(e){
$('.sliderCount').text($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="slider" type="range" value="50" min="0" max="100"/>
<div class="sliderCount">50</div>
ワーキングデモをdivの値を更新する必要がある場合は、input
イベントを使用することができます追加情報
私は変更イベントは、範囲の最後の値を取得するために十分だと思います – JYoThI
ありがとうYousef。この回避策もうまくいきます:) –
@GururajBhandarkarあなたは完全に歓迎しています。素晴らしい日を過ごしてください:-) –
try focusoutイベント – guradio
こんにちは@ guradio、私はあなたのソリューションを試しましたが、このイベントは、範囲バーの外をクリックするとトリガします。私はレンジ入力のリリース時にそれを取得したかった –
これはすでにレンジ入力がどのように動作しているのですか? https://jsfiddle.net/jvvL63s0/「input」というテキストは、ドラッグ後にハンドルが解放されたときにのみ更新されることに注意してください。 –