PhoneGap / Cordova"点击"在浏览器中工作,但不在Developer App上工作?

时间:2017-08-17 20:28:36

标签: javascript jquery ios cordova phonegap

我设法创建了一个登录/注册屏幕,该功能在PhoneGap提供并在浏览器中查看时效果很好。

然而,当使用PhoneGap应用程序在iPhone上进行测试时,"点击"功能不再有效。

var myApp = new Framework7();
var $$ = Dom7;

// Handle Cordova Device Ready Event
$$(document).on('deviceready', function() {

    //wait for signup page to be fully loaded
    myApp.onPageInit('signup', function (page) {

        //event listener for signup button
        var signupButton = document.getElementById("signup");

        if(signupButton) {
            signupButton.addEventListener("click", signup, false);
        }

        //on click of signup button
        function signup() {

           login code here
        }
    });
});

我正在使用这个" addEventListener"方法而不是:

$("#signup").on("touchend", function (){signup()});
$("#signup").on("click", function (){signup()});

他们也没有在移动设备上工作,并试图寻找解决方案时遇到了这个问题:

cordova/phonegap onclick doesn't work

这些方法/处理程序在浏览器和PhoneGap应用程序中的表现方式不同吗?

3 个答案:

答案 0 :(得分:1)

我在iOS上遇到了同样的问题,不得不添加e.preventDefault()来解决问题。

$('#signup').on('click', function (e) {
    e.preventDefault();
    signup();
});

答案 1 :(得分:1)

尝试将元素#signup设置为cursor:pointer的css规则,然后尝试$('#signup').on('click', function(){});

答案 2 :(得分:0)

好吧,对我来说,问题是由于“ window.onload”或“ document.addEventListener('deviceready'”)定义了按钮事件,当我将处理程序定义放在html文件中时,我都尝试了,因此看起来像个错误。

所以这现在可行,

$("#clr").on("click", function () {
   $("#mylabel").html("");
});

我在创建项目时使用了hello应用程序,它使用了“ app”类。