我试图让一个简单的图像按钮在Phonegap中工作。我想在点击后交换图像,并在短时间后转发到位置。
所以我试过了:
function highl(Bildname,BildURL,Link) {
document.images[Bildname].src = BildURL;
window.setTimeout(forward,1000);
function forward() {
window.location = Link;
}
}
HTML中的只是链接:
<a href="javascript:highl('level01','level1h.png','test.html')"><img name="level01" src="level1.png" border="0"></a>
在我的Moz中运行良好,但在Webkit / phonegap中运行良好(交换不能正常工作)。
有人可以帮忙吗?
编辑:也不会在Chrome中工作......
答案 0 :(得分:0)
Webkit不支持标记为无法修复的DOM属性变异(请参阅issue 8191)。 可能与您的问题有关联。
作为一种解决方法,我认为您应该只删除DOM节点的内容,而是创建一个新的图像节点。
修改:代码
您需要识别容器。
另外,我设置了href,因此我禁用了javascrpt,仍然可以遵循链接。
如果启用了javascript,return false
会告知浏览器不要关注该链接。
<a href="test.html" onClick="return highl(this, 'level1h.png', 'test.html');">
的JavaScript。我已经内联forward
,因为它很短,但你不需要。
function highl(el, imgURL, link) {
var img = new Image();
img.src = imgUrl;
// remove current image. TODO ensure firstChild is not null?
el.removeChild(el.firstChild);
// place new image
el.append(img);
setTimeout(function() {window.location=link;}, 1000);
return false;
}