Android/ Phonegap - onClick() not working

前端 未结 6 2112
感情败类
感情败类 2020-12-10 12:31

I am using phonegap and am trying to detect the onClick, however Android seems to completely ignore it, below is what I am trying:


                        
    
提交评论

  • 2020-12-10 13:02

    Watch out, bind an onclick on an input in Cordova 3.4, doesn't work. But it works great with a div element. Considering, input elements are part of form element, like select element, it may be your problem.

    0 讨论(0)
  • 2020-12-10 13:11

    Have you tried setting your method to be called to "method" instead of "method();"? So maybe you could try your line as:

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

    Then hopefully your method will be called.

    0 讨论(0)
  • 2020-12-10 13:15

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

    delete this code from index.html

    0 讨论(0)
  • 2020-12-10 13:16

    I had the same problem with jQuery, Android seems to ignore the click event in javascript. Originally, my code with jQuery looks like this:

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

    I had to change it to:

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

    Not sure if you're using jQuery at all, but hope this helps.

    0 讨论(0)
  • Add click event listener to your object with javascript. First add an id to object:

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

    And then call addEventListener() :

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

    Phonegap documentation recomends to run all your javascript code in "deviceready" event. So your code should look like this:

    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>
    
    0 讨论(0)
  • 提交回复
    热议问题