0

我有一个 HTML5 应用程序,我使用 Eclipse 将其编译为 Android 项目,从/assets/www文件夹加载它。

我使用 PhoneGap Media类和 jQuery (1.8.3) 加载了一些音频,如下所示:

//Javascript

$(document).ready(function() {
        $(".bt_play").click(function(event) {

            var audio_file = $(this).attr('href');
            playAudio('/android_asset/www/audio/' + audio_file);

            return false;
        });

    });

var my_media = null;

    function playAudio(url) {
        my_media = new Media(url, success, fail);
        my_media.play();
    }

//HTML

<a href="myAudio.mp3" class="bt_play">PLAY</a>

如果我不包含jQuery Mobile,上面的代码可以完美运行,它会播放音频文件。但是,如果我包含 jQuery Mobile 库(版本 1.3.1),并且甚至没有更改代码中的任何其他内容,当我单击该链接而不是播放音频时,它会显示错误加载页面消息。

我尝试使用 jQuery Mobile 特定功能来准备文档$(document).on('pageinit', function() { ... });而不是 jQuery,但我仍然遇到相同的错误。

关于为什么会发生这种情况的任何想法?

4

2 回答 2

0

我使用 Omar 的建议解决了:

  • 使用$(document).on('pageshow',...)};代替.ready()
  • event.preventDefault在事件中使用click()并删除return
  • 在将用户带到此页面的链接中禁用 AJAX 导航,data-ajax="false"<a>标签中使用
于 2013-07-20T01:42:45.243 回答
0

一个想法可能听起来很愚蠢,更多尝试或放置一个pagebeforecreate而不是pageinit或将调用放在一个函数上以在 onclick 中调用?

我在使用这个版本的 JqueryMobile 时遇到了很多问题,我将所有调用都放在了 onclick 中,因为 live 不起作用......

于 2013-07-19T19:24:46.123 回答