ユーザーがスライダーをスライドさせ、スライドが停止すると値が変更されたときにイベントを発生させようとしています。jQuery docs によると、change
イベントはこの場合に理想的です。だから私はこれを試しています:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Slider - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#slider" ).slider({
change:function() { alert("foo"); }
});
});
</script>
</head>
<body>
<div id="slider"></div>
</body>
</html>
ただし、スライダーを右にドラッグし、再び開始点 (ページ読み込み時のスライダーの初期位置) にドラッグすると、アラートが引き続き発生することがわかりました。これは jQuery のバグですか? いいえの場合、どうすれば修正できますか?