我有这个带有外部函数调用和局部变量的 html 代码:
document.getElementById("data").innerHTML='<a href="#" onClick="cordova.exec("ChildBrowserCommand.showWebPage", "'+vivijesolo+'");"><img src="'+vivifoto+'" on;></a>';
问题是,它看到了变量,一切都很好,但函数 cordova.exec 不能执行。
为什么??:(
我有这个带有外部函数调用和局部变量的 html 代码:
document.getElementById("data").innerHTML='<a href="#" onClick="cordova.exec("ChildBrowserCommand.showWebPage", "'+vivijesolo+'");"><img src="'+vivifoto+'" on;></a>';
问题是,它看到了变量,一切都很好,但函数 cordova.exec 不能执行。
为什么??:(
"
正在破坏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 );
};
我认为这里还有第二个问题。我不认为您可以通过这种方式创建您的活动。看看这个问题:
是否可以在不破坏后代事件侦听器的情况下附加到 innerHTML?
简单地使用 innerHTML 恕我直言不会正确设置事件。
您必须正确编码您的事件处理程序:
onClick="cordova.exec("ChildBrowserCommand.showWebPage","'+vivijesolo+'");"