【问题标题】:Function not working properly when called within onDeviceReady在 onDeviceReady 中调用时函数无法正常工作
【发布时间】:2016-06-17 17:50:24
【问题描述】:

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

  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 函数中。有没有人知道为什么这不起作用?

【问题讨论】:

标签: javascript jquery html cordova


【解决方案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> ?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多