获取 html 中使用 javascript 或 jquery 打开 ViewController.openExternalView 的元素
get element in html which was opened ViewController.openExternalView by using javascript or jquery
我尝试在 page1.html 中单击 Show Image
时显示 page2.html。我使用 ViewController.openExternalView 来显示 page2.html 因为 dijit.registry.byId("myPage1").performTransition('myPage2', 1, "slide", null);
不起作用。
当page2 显示时,我将page2 中图像的可见性更改为可见。但是 document.getElementById('myImgId')
return null.
似乎脚本在 page2.html 加载之前执行。无论如何执行脚本以能够安全地获取元素?
道场版本:1.9.3
以下是我正在尝试的片段。
javascript
function showImage(){
var vc = dojox.mobile.ViewController.getInstance();
vc.openExternalView({
url:"page2.html",
transition:"slide"
},dijit.registry.byId("container").containerNode);
document.getElementById("myImgId").style.vilibility="visible";
}
page1.html
<div data-dojo-type="dojox.mobile.View" id="myPage1">
----some html tags----
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="variableHeight:true" >
<div onclick="showImage();"><label>Show Image</label></div>
<div>
----some more html tags----
</div>
</li>
</div>
page2.html
<div data-dojo-type="dojox.mobile.View" id="myPage2">
<div data-dojo-type="dojox.mobile.Container">
<img src="img1.png" id="myImgId" style="vilibility:hidden;"/>
</div>
</div>
试试这个:
function showImage(){
var vc = dojox.mobile.ViewController.getInstance();
Deferred.when(vc.openExternalView({
url:"page2.html",
transition:"slide"
},dijit.registry.byId("container").containerNode), function(){
document.getElementById("myImgId").style.vilibility="visible";
});
}
我尝试在 page1.html 中单击 Show Image
时显示 page2.html。我使用 ViewController.openExternalView 来显示 page2.html 因为 dijit.registry.byId("myPage1").performTransition('myPage2', 1, "slide", null);
不起作用。
当page2 显示时,我将page2 中图像的可见性更改为可见。但是 document.getElementById('myImgId')
return null.
似乎脚本在 page2.html 加载之前执行。无论如何执行脚本以能够安全地获取元素?
道场版本:1.9.3
以下是我正在尝试的片段。
javascript
function showImage(){
var vc = dojox.mobile.ViewController.getInstance();
vc.openExternalView({
url:"page2.html",
transition:"slide"
},dijit.registry.byId("container").containerNode);
document.getElementById("myImgId").style.vilibility="visible";
}
page1.html
<div data-dojo-type="dojox.mobile.View" id="myPage1">
----some html tags----
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="variableHeight:true" >
<div onclick="showImage();"><label>Show Image</label></div>
<div>
----some more html tags----
</div>
</li>
</div>
page2.html
<div data-dojo-type="dojox.mobile.View" id="myPage2">
<div data-dojo-type="dojox.mobile.Container">
<img src="img1.png" id="myImgId" style="vilibility:hidden;"/>
</div>
</div>
试试这个:
function showImage(){
var vc = dojox.mobile.ViewController.getInstance();
Deferred.when(vc.openExternalView({
url:"page2.html",
transition:"slide"
},dijit.registry.byId("container").containerNode), function(){
document.getElementById("myImgId").style.vilibility="visible";
});
}