onchange
  • jquery
  • 2013-05-08 84 views 0 likes 
    0

    我正在使用jQuery Mobile。我有一个切换按钮,当用户点击时我需要启动一个确认对话框。JQuery Toggle .click功能

    HTML

    <div data-role="fieldcontain"> 
        <div class='ui-grid-a' > 
         <div class='ui-block-a'> 
          <h4 rel='tooltip' title='Feature that automatically solves other values as you type in inputs' style='color:#cc0000;'>Auto-Solve</h4> 
         </div> 
         <div class='ui-block-b'> 
          <select name="togSwitch" id="autosolve" data-theme="" data-role="slider" data-mini="true"> 
           <option value="off">Off</option> 
           <option selected value="on">On</option> 
          </select> 
         </div> 
        </div> 
    </div> 
    

    jQuery的

    $(document).ready(function() { 
    $('#autosolve').toggle(function() { 
        var answer = confirm('This will erase all current values. Are you sure you want to continue?'); 
        if (answer === false) {return;} else {reset();} 
        }, function() { 
        var answer = confirm('This will erase all current values. Are you sure you want to continue?'); 
        if (answer === false) {return;} else {reset();} 
    }); 
    }); 
    

    我也试着做一个标准的点击功能,但没有奏效:

    $('#autosolve').click(function() { 
        var answer = confirm('This will erase all current values. Are you sure you want to continue?'); 
        if (answer === false) { 
         return; 
        } else { 
         reset(); 
        } 
    }); 
    

    我也试过.change(),但它启动onload,并且它还在我的切换开关下面显示一个小的选择框,这很奇怪。

    有人知道如何正确启动一个确认对话框,一旦用户点击切换开关?并在切换之前更改

    回答

    2

    以这种方式使用的toggle()函数在jQuery 1.8中被弃用,并在1.9中被删除!您应该可以挂接到built in events的jQ移动切换开关:

    $("#autosolve").on('slidestart', function(event) { 
        var answer = confirm('This will erase all current values....'); 
        if (answer) reset(); 
        return answer;  
    }); 
    
    +0

    谢谢!这工作! – bagofmilk 2013-05-09 19:17:39

    相关问题