rangeslider.js 调用 onchange() 两次
rangeslider.js calling onchange() twice
我正在开发 phonegap 应用程序,我正在使用 rangeslider 使常规 <input type=range>
元素在视觉上更具吸引力。但是我 运行 遇到以下函数的问题,该函数在 onchange()
事件触发时调用:
function store_slider(){
store_slider_val=document.getElementById("slider").value; //gets the value of the slider
if(store_slider_val==100){
//if slider is at 100 give a notification
navigator.notification.confirm('Mark task as complete?',task_complete_handle,'Hey there!','YES,NO');
function task_complete_handle(button){
if(button==1){
//do stuff
}
else{
//set the slider to 90
$('#slider').val(90).change();
}
}
}
else{
//do other stuff
}
}
我面临的问题是,当滑块位于 100 时,navigator.notification.confirm('Mark task as complete?',task_complete_handle,'Hey there!','YES,NO');
生成的通知在我的 phone 中尝试应用程序时出现两次而不是一次(仅出现一次当我 运行 它在我的笔记本电脑浏览器中时)。当我不使用 运行geslider 时,代码按预期工作。
我该如何解决这个问题? Rangeslider 是使 运行ge 输入看起来更好的完美而简单的解决方案,我真的很想继续使用它而不是切换到另一个滑块插件。
我只是通过完全删除 rangeslider.js 并使用另一个插件来解决这个问题,因为它似乎与 rangeslider 的实现方式有关。
我所做的是只在值不同时更新模型,这确保了我的模型推送到后端只被调用一次而不是两次例如:
if (Model.value != $this.value) {
Model.value = $this.value;
PostToBackEnd();
}
我正在开发 phonegap 应用程序,我正在使用 rangeslider 使常规 <input type=range>
元素在视觉上更具吸引力。但是我 运行 遇到以下函数的问题,该函数在 onchange()
事件触发时调用:
function store_slider(){
store_slider_val=document.getElementById("slider").value; //gets the value of the slider
if(store_slider_val==100){
//if slider is at 100 give a notification
navigator.notification.confirm('Mark task as complete?',task_complete_handle,'Hey there!','YES,NO');
function task_complete_handle(button){
if(button==1){
//do stuff
}
else{
//set the slider to 90
$('#slider').val(90).change();
}
}
}
else{
//do other stuff
}
}
我面临的问题是,当滑块位于 100 时,navigator.notification.confirm('Mark task as complete?',task_complete_handle,'Hey there!','YES,NO');
生成的通知在我的 phone 中尝试应用程序时出现两次而不是一次(仅出现一次当我 运行 它在我的笔记本电脑浏览器中时)。当我不使用 运行geslider 时,代码按预期工作。
我该如何解决这个问题? Rangeslider 是使 运行ge 输入看起来更好的完美而简单的解决方案,我真的很想继续使用它而不是切换到另一个滑块插件。
我只是通过完全删除 rangeslider.js 并使用另一个插件来解决这个问题,因为它似乎与 rangeslider 的实现方式有关。
我所做的是只在值不同时更新模型,这确保了我的模型推送到后端只被调用一次而不是两次例如:
if (Model.value != $this.value) {
Model.value = $this.value;
PostToBackEnd();
}