点击事件点击适用于浏览器,但不适用于IOS应用

时间:2013-06-06 09:57:23

标签: jquery-mobile backbone.js cordova

我目前正在使用Backbone.js,underscore.js和jQuery Mobile开发应用程序。这是一个有几个问题的“测验”,当用户点击答案时,它会转到下一个问题。

它在浏览器上工作得很好,但我想使用Phonegap开发一个IOS应用程序,并且(经过一些小改动)一切似乎都没问题,但是当我点击一些答案时,事件(既不点击也不点击)不要开火。我用“提交”按钮尝试了它,它有效,所以有一些奇怪的东西:(

相关代码:

var quizView = Backbone.View.extend({
    collection: new quizCollection(),
    render: function() {
         (...)
    },
    events: {
        'click .resp': 'saveStatus', // original
        'tap .resp': 'saveStatus',  // and maybe...?
        'touch .resp': 'saveStatus'// what if...?
    },
    saveStatus: function(event) {
        var el = $(event.currentTarget).siblings("input");
        var score = (el.val() == questions.selected.correcta) ? (1) : (0);
        datosPartida.preguntasResp++;
        datosPartida.score += score;
        this.collection.showQuestion();
    }
});

其中“.resp”是无线电输入标签中的类。

模板的代码是:

<div data-role="header">
    <h1>Pregunta</h1>
</div>

<div data-role="content">
    <div>
        <%
            var id = preguntas.id;
            var corr = preguntas.correcta;
            var it = 0;
        %>

        <h3><%= preguntas.pregunta %></h3>
        <% _.each(preguntas.respuestas, function(respuesta) { %>
            <input id="respuesta_<%= it %>" name="respuesta_<%= id %>" type="radio" value="<%= respuesta.id %>">
            <label data-role="button" class="resp" for="respuesta_<%= it %>">
                <%= respuesta.respuesta %>
            </label>
                <% it++; %>
        <% }); %>
           <!-- <button data-role="button" class="sigpreg">Siguiente</button> -->
    </div>
</div>

为什么我的点击/点击没有在IOS上触发事件,但它在浏览器上是什么?

我希望得到一些帮助,先谢谢。


最后我找到了答案here

设置事件touchstart,它可以正常工作:)

0 个答案:

没有答案