物理页面上的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与常用信息一起使用。
答案 0 :(得分:1)
要通过目标页面外的代码动态访问,请使用以下命令:
$(document).on(event, '.selector', function() { });
要通过目标页面内的代码动态访问,请使用以下命令:
$('.selector').on(event, function() { });