【问题标题】:In console error showing ignore attempt to cancel a touchend在显示忽略尝试取消触摸端的控制台错误中
【发布时间】:2017-05-18 16:31:46
【问题描述】:

我在 ionic 应用程序中为用户注册设计表单,在手机上以调试模式运行并填写表单,当我提交表单应用程序时没有响应任何其他内容,当我在控制台上检查它时,错误显示如下:

p>

"忽略了取消使用 cancelable=false 的 touchend 事件的尝试,因为 例如,因为滚动正在进行中,不能被中断。”

<ion-view view-title="Sign Up" class="login-main">
    <ion-header-bar>
        <h1 class="title">Sign Up</h1>
    </ion-header-bar>
    <ion-content>
        <div class="row">
            <div class="login-both-fields">

                <div class="list">
                    <form class="padding" id="signup-form" ng-submit="signup(signupForm.$valid)" name="signupForm" novalidate>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-person"></i></span>
                            <input type="text" placeholder="Name*" name="m_name" ng-model="mSignupData.m_name" required>
                            <span ng-show="submitted && signupForm.m_name.$error.required" class="popup-validation-signup">
                                Please enter name
                            </span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-person"></i></span>
                            <input type="text" placeholder="Surename*" name="m_surename" ng-model="mSignupData.m_surename" required>
                            <span ng-show="submitted && signupForm.m_surename.$error.required" class="popup-validation-signup">
                        Please enter surename
                    </span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-ios-location"></i></span>
                            <input type="text" placeholder="Address*" name="m_address" ng-model="mSignupData.m_address" required>
                            <span ng-show="submitted && signupForm.m_address.$error.required" class="popup-validation-signup">Please enter address</span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-calendar"></i></span>
                            <input type="date" placeholder="Date Of Birth*" name="m_dob" ng-model="mSignupData.m_dob" required>
                            <span ng-show="submitted && signupForm.m_dob.$error.required" class="popup-validation-signup">Please enter DOB</span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-iphone"></i></span>
                            <input type="number" placeholder="Mobile Number" name="m_mobno" ng-model="mSignupData.m_mobno" required> 
                            <span ng-show="submitted && signupForm.m_mobno.$error.required" class="popup-validation-signup">Please enter mobile no</span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-ios-email"></i></span>
                            <input type="email" placeholder="Email*" name="m_email" ng-model="mSignupData.m_email" required>
                            <span ng-show="submitted && signupForm.m_email.$error.required" class="popup-validation-signup">Please enter emailid</span>
                            <span ng-show="submitted && signupForm.m_email.$error.email" class="popup-validation-signup">Please enter valid emailid</span>
                        </label>
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-person"></i></span>
                            <input type="text" placeholder="User Name*" name="m_username" ng-model="mSignupData.m_username" required>
                            <span ng-show="submitted && signupForm.m_username.$error.required" class="popup-validation-signup">Please enter username</span>
                        </label> 
                        <label class="item item-input">
                            <span class="input-label login-input-icon"><i class="ion-locked"></i></span>
                            <input type="password" placeholder="Password*" name="m_pwd" ng-model="mSignupData.m_pwd" ng-minlength="8" required>
                            <span ng-show="submitted && signupForm.m_pwd.$error.required" class="popup-validation-signup">Please enter password</span>
                            <span ng-show="submitted && loginForm.m_pwd.$error.minlength" class="validation-login popup-forvalidation correct-password-login-error">Password should be min 8 character.</span>
                        </label>
                        <div class="term-line-signup">
                            <input id="terms" type="checkbox" name="vehicle" value="Bike" ng-model="mSignupData.vehicle" required> <label for="terms" class="lable-readinfo">By Accept</label>  <a href="javascript:;" class="links-for-terms-page">terms& conditions.</a>
                            <span ng-show="submitted && signupForm.vehicle.$error.required" class="popup-validation-signup please-confirm-condtion">Please accept terms&condition</span>
                            
                        </div>
                       
                        <button type="submit" ng-click="submitted = true" class="button button-block button-positive button-energized client-btn">Register</button>
                        <a class="button button-block button-positive  Normal-btn" href="#/mLogin">Signin</a>
                    </form>
                </div>
            </div>
        </div>

    </ion-content>
</ion-view>

【问题讨论】:

    标签: angularjs ionic-framework


    【解决方案1】:

    您可以从 touchend 尝试return true,一切都会正常。

    这样做:

    var scroll=false;
    
    //while moving
    $("body").on("touchmove", function(){
          scroll = true;
    });
    
    //at the end of touch
    $("body").on("touchend", function(){
          if (scroll)
              return;
    
          // wasn't a drag, just a tap
          // more code here
    });
    
    //when touch starts
    $("body").on("touchstart", function(){
        scroll = false;
    });
    

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 2014-12-16
      • 1970-01-01
      • 2020-11-01
      • 2011-10-30
      • 1970-01-01
      • 2021-12-02
      • 2021-05-19
      • 1970-01-01
      相关资源
      最近更新 更多