在inner.html里面调用JavaScript函数

时间:2012-07-23 13:21:50

标签: javascript cordova innerhtml

我有这个带外部函数调用和局部变量的html代码:

document.getElementById("data").innerHTML='<a href="#" onClick="cordova.exec("ChildBrowserCommand.showWebPage", "'+vivijesolo+'");"><img src="'+vivifoto+'" on;></a>';

问题在于,它看到了变量,并且everthing很好,但函数cordova.exec无法执行。

为什么? :(

3 个答案:

答案 0 :(得分:2)

"打破onClick属性。它只会看到onClick="cordova.exec("然后因为引用结束而停止

试试这个

var elem = document.getElementById("data");
elem.innerHTML = '<a href="#"><img src="'+vivifoto+'"></a>';

elem.firstChild.onclick = function() {
    cordova.exec( "ChildBrowserCommand.showWebPage", vivijesolo );
};

答案 1 :(得分:0)

您必须正确编码事件处理程序:

onClick="cordova.exec(&quot;ChildBrowserCommand.showWebPage&quot;,&quot;'+vivijesolo+'&quot);"

答案 2 :(得分:0)

我认为这里存在第二个问题。我不认为你可以用这种方式创建你的活动。看看这个问题:

Is it possible to append to innerHTML without destroying descendants' event listeners?

简单地使用innerHTML imho将无法正确设置事件。