1

物理页面上的 JQM 元素:

#page_test1
    button changing page to #page_test2

#page_test2
    div #place to put something programmatically

将按钮放在#place 容器中,我编写了以下(工作)代码:

$(document).on('pagebeforeshow', '#page_test2', function(event) {
    $('#place').empty();
    $('#place').append('<a href="#" data-role="button" data-theme="d">Dynamic button inserted by JavaScript</a>');
    $('#place').trigger('create');
});

好的,但是当我尝试将.on正文移动到脚本级别(直接在脚本标记下)时,由于上下文松散,内部代码变得错误:

$(document).on('pagebeforeshow', '#page_test2', function(event) {
    addButton(); // Attempt to move widget manipulation up
});

// Widget manipulation not changed but moved outside (level up) .on
// Not working
function addButton() {
    $('#place').empty();
    $('#place').append('<a href="#" data-role="button" data-theme="d">Dynamic button inserted by JavaScript</a>');
    $('#place').trigger('create');
}

如何从不同级别的 JQM 层次结构及其外部访问 JQM 元素?

猜猜它对于 JQM / Ajax 来说是非常基础的,所以我将非常感谢使用带有通用信息的 URL。

4

1 回答 1

1

要在目标页面外部动态访问代码,请使用以下命令:

$(document).on(event, '.selector', function() { });

要在目标页面内动态访问代码,请使用以下命令:

$('.selector').on(event, function() { });
于 2013-04-22T10:24:42.977 回答