我在下拉菜单项中使用 jQuery 滑块。当我单击菜单项时,会打开一个带有滑块的下拉菜单。用户应拖动滑块手柄之一。从那时起,该页面上的任何鼠标移动都会导致滑块事件和回调。这一直持续到我单击页面上的其他位置,有效地回滚菜单下拉菜单。
这种行为正常吗?用户释放滑块手柄后,如何让滑块更改事件停止?每当用户更改滑块时,我都有一个从数据库重新加载的页面。这会导致数据库负载过大。
我正在使用带有引导程序的 jQuery UI。您可以在http://jsfiddle.net/Sh5A5/2/看到示例
这是JS:
islide = 0;
$("#XYZ").text("DDDDDxD");
$("#XYZ").append("<b class=caret></b>");
$("#slider-range").slider({
range: true,
min: 0,
max: 500,
values: [75, 300],
slide: function (event, ui) {
alert("hello #" + ++islide);
$("#XYZ").html("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1) + " <b class='caret'></b>");
}
});
和html:
<div class="nav dropdown"> <a id="XYZ" data-toggle="dropdown" class="btn btn-primary" href="#"></a>
<ul class="dropdown-menu">
<li><a href="#">
<p>Range: 0 to Inf</p>
<div id="slider-range"></div>
</a>
</li>
</ul>
</div>
我在没有引导程序的情况下尝试了同样的方法。它看起来很丑,但行为却是一样的。有更好的选择吗?
谢谢