繁体   English   中英

Android / Phonegap - onClick()不起作用

[英]Android/ Phonegap - onClick() not working

我正在使用phonegap,并试图检测onClick,但Android似乎完全忽略它,下面是我正在尝试:

<select name="func" onclick="StartButtons();" data-native-menu="true">

我已经尝试过onClick的几个变种包括javascript,jQuery等等。但是这些似乎都不起作用。

我注意到onChange有效,但这对我没有多大用处,因为我需要使用一个提示,要求用户确认更改,如果不是那么什么都不做。 但是,使用onchange仍会更改下拉列表中的项目。

有人可以帮忙吗?

我遇到了与jQuery相同的问题,Android似乎忽略了javascript中的click事件。 最初,我的jQuery代码如下所示:

$("#element").click(function () { alert("message"); });

我不得不把它改成:

$("#element").on("touchend", function () { alert("message"); });

不确定你是否正在使用jQuery,但希望这会有所帮助。

使用javascript将click事件侦听器添加到您的对象。 首先向对象添加一个id:

    <select id="obj_id" name="func" data-native-menu="true">

然后调用addEventListener():

    document.getElementById("obj_id").addEventListener("click", StartButtons, false);

Phonegap文档建议在“deviceready”事件中运行所有javascript代码。 所以你的代码应该是这样的:

main.js:

    function StartButtons() { ... }

    function onDeviceReady() {
        ...
        document.getElementById("obj_id")
            .addEventListener("click", StartButtons, false);
        ...
    }

    function init() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

index.html的:

    ...
        <script type="text/javascript" charset="utf-8" src="main.js"></script>
    </head>
    <body onload="init();">
        ...
        <select id="obj_id" name="func" data-native-menu="true">
        ...
    </body>

user1183085的答案是正确的。 Android不会像网络应用那样识别点击事件,因为移动应用在本机时不是网络,因此这就是为什么设置了phonegap,但因为它与jquery一起工作,而不是直接使用本机java的android库。 我把代码放在这里:

Web按钮或元素onclick可处理所有Web界面,以及用于处理移动界面的特殊按钮或元素。 这是我的代码的一部分:

//this handles the login button events for the mobile touch of the user
$("button.login-button").on("touchend", function () {alert('hello touch ! =o' )});

//this handles the login button events for web clicks
$("button.login-button").on("click", function () {alert('hello click ! =o' )});

谢谢用户user1183085,永远解决了我的生活=()

注意,绑定在Cordova 3.4中的输入上的onclick,不起作用。 但它对div元素很有用。 考虑到,输入元素是表单元素的一部分,就像select元素一样,它可能是你的问题。

https://ssl.gstatic.com'unsafe-eval'; style-src'self''unsafe-inline'; media-src *“>

从index.html中删除此代码

您是否尝试将方法设置为“方法”而不是“方法();”? 所以也许你可以尝试你的行:

<select name="func" onclick="StartButtons" data-native-menu="true">

希望你的方法会被调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM