我試圖在用戶滑動滑塊時觸發事件,並且在滑動停止時更改值。根據jQuery文檔,change
事件對於這種情況將是理想的。所以,我想這一點:即使值未改變,jQuery UI滑塊「更改」事件也會觸發
<!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的錯誤?如果不是,我該如何解決這個問題?
按預期工作。每當滑塊更改值時都會觸發更改事件,因此當您第一次將滑塊的值更改爲新值時移動該事件,因此當您將其移回時,該值會再次發生更改。 – Populus 2013-03-19 19:42:44
不,我的意思是這樣的:將它拖到右邊,不釋放它回到初始位置(0)。所以,現在事件完成了,並且當您開始拖動時,您處於的價值。那麼這是一個「變化」事件? – SexyBeast 2013-03-19 19:43:57
Change()可能會觸發滑塊面板位置,而不是滑塊ID。 – isherwood 2013-03-19 19:44:28