1

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

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

问题是,它看到了变量,一切都很好,但函数 cordova.exec 不能执行。

为什么??:(

4

3 回答 3

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 );
};
于 2012-07-23T13:26:07.530 回答
0

我认为这里还有第二个问题。我不认为您可以通过这种方式创建您的活动。看看这个问题:

是否可以在不破坏后代事件侦听器的情况下附加到 innerHTML?

简单地使用 innerHTML 恕我直言不会正确设置事件。

于 2012-07-23T13:36:18.643 回答
0

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

onClick="cordova.exec(&quot;ChildBrowserCommand.showWebPage&quot;,&quot;'+vivijesolo+'&quot);"
于 2012-07-23T13:25:57.180 回答