在函数内部时,jQuery更改事件不会在移动设备上触发

时间:2013-06-05 19:56:42

标签: android jquery mobile

具体来说,我在Android平板电脑上看到了这个问题,但我被告知它适用于所有移动设备 - iPhone,Nexus平板电脑等。

但是我有一个常见的问题,即改变事件没有解雇。这是分配了点击事件的功能代码:

function do_this(with_this_data)
{
    var that = this;


    this.with_this_data = with_this_data;
    this.period = 900;
    this.updateHours();

    $('#date').change(function() {
        that.updateHours();
    });

    $('#time_hour').change(function() {
        that.updateMinutes();
    });

    // extra irrelevant data trimmed out
}

现在......一个应该工作的修复是将那些.change()语句移动到$(document).ready块中 - 但问题是,如果我这样做,那么我会得到各种未定义的变量问题和东西......所有的“更新”函数都在所说的$(document).ready块中,并由名称如“FutureStuff.prototype.updateMinutes”定义。

我有什么选择???

1 个答案:

答案 0 :(得分:1)

Mifeet,再次,我感谢您的反馈;我知道你无法让我完全活跃起来,但我还是很感激。

但无论如何,我解决了这个问题......这意味着基本上我必须重写一个新版本的JS代码并将其粘贴在“如果这个小伙子正在使用移动浏览器”块中。所以是的,桌面用户的一大块代码,另一个用于移动的代码...但它的工作原理。 :)这对于hiney来说是一种痛苦。