我正在开发一个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');生成的通知在我在手机中尝试该应用程序时将出现两次,而不是一次(当我在笔记本电脑浏览器中运行该应用程序时仅出现一次)。当我不使用rangelider时,代码将按预期工作。

如何解决此问题? Rangeslider是使范围输入看起来更好的完美且简单的解决方案,我真的很想继续使用它,而不切换到另一个滑块插件。

最佳答案

我仅通过完全删除rangeslider.js并使用另一个插件来解决了这个问题,因为它似乎与rangeslider的实现方式有关。

09-30 00:33