JQuery Mobile Slider vmouseup活动

时间:2012-05-03 20:05:39

标签: jquery javascript-events jquery-mobile slider

由于我现在花了大约一个星期来解决一个问题,所以我决定在这个社区中问一下,如果有人可以帮助我,或者至少在崩溃的故事发生之前给我一个线索: - )

我正在使用Python编写一个动态页面来生成HTML输出,其中表单将其值提交给生成的python脚本本身 - 这非常有效 - 在客户端使用JQuery Mobile。 我使用多页面布局,其中5页包含带滑块的表单。

我希望所有滑块都触发一个cgi脚本(女巫就是python脚本本身)。 我首先使用以下代码在每种形式中执行此操作:

<form action="**scriptname**" method="get" name="raum1" id="f_raum1">

<input type="range" name="slider_r1l" id="slider-1" value="**bfout1**" min="-70" max="12" data-theme="b" data-highlight="true" data-track-theme="a" onchange="document.getElementById('f_raum1').submit()"/>

xxx 值将在输出到浏览器之前被python替换)

问题是,在我完成滑块值更改之前触发了onchange(意味着我仍然在滑块上的路上更改值),因为即使是一个小的更改也会触发cgi请求。 我想用vmouseup做到这一点,以便当我从设备上释放手指或鼠标时触发器变为真。

我在我的html标题中尝试了这个但是我没有让它工作(肯定是因为我缺乏javascript知识)并且在输入标记中删除了onchange:

<script type="text/javascript">
var in = getElementsByTagName("INPUT");
$(in).bind('vmouseup', function () {
self.document.submit();
 });
</script>

我的问题在哪里?这应该将所有输入标签绑定到vmouseup函数?!?

问候卢克

1 个答案:

答案 0 :(得分:1)

鼠标正在与图形组件交互,而不是输入框。你可以绑定到-ui-slider:

$('#slider-1').siblings('.ui-slider').bind('vmouseup', function () {
  /* Do submit */
});

您可以在此处详细了解如何绑定滑块事件: jQueryMobile: how to work with slider events?