在onDeviceReady中调用时函数无法正常工作

时间:2016-03-04 05:17:43

标签: javascript jquery html5 cordova

我正在创建一个应用程序,它创建了一些将用户链接到另一个页面的元素。代码看起来像这样。

  function showThis(){

    $('<a class="routePage"></a>').prependTo($('#updateCol')).slideDown("500",function(){}‌​)

function onDeviceReady() {
  $('.routePage').on('click',function(e){
    window.location = "page2.html";
  });
  showThis();
}
  showThis();

不幸的是,只有onDeviceReady之外的showThis()创建的元素才会触发window.location更改。出于更复杂的原因,我的应用程序要求showThis()位于onDeviceReady函数中。有没有人有可能解释为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

这可能有助于attaching-click-event-to-a-jquery-object-not-yet-added-to-the-dom。您可能必须使用:

$('body').on('click', '.routePage', function (e) {
     window.location = "page2.html";
});

并且可能用父元素代替body。

抱歉评论格式:

你也有这个:

<a class="routePage"</a>, should be <a class="routePage"></a> ?