我正在使用 python、HTML 和 javascript 开发一个程序。我有两个图像,用作在鼠标悬停和鼠标移出时更改颜色的按钮。它还有一个在 onclick 事件发生时起作用的函数。在 Internet Explorer(extrange)上一切都运行良好,但 onclick 事件在 safari、chrome 或 firefox 上不起作用。错误控制台不标记任何错误,控制台上的 error.log 也不标记任何错误。
你发现代码有什么问题吗?是否有一些功能(例如 onmouseover 或 onmouseout 或 onclick)在这些浏览器上不起作用?
<td><img src="/RH/images/tacha.png" onclick="eliminarRenglon('eliminar','%s');testing()"
onmouseover="this.src='/RH/images/tacha_2.png'" onmouseout="this.src='/RH/images/tacha.png'" /></td>''' % variable
function testing(){
alert("JUST TESTING");
}
连“测试”功能都不起作用。 “eliminarRenglon”功能在 IE 上运行得很好,“测试”功能也是如此。这是“eliminarRenglon”的代码,但由于它在 IE 上运行得很好,我不知道问题是否出在它。
function eliminarRenglon(tipo,id) {
var nivel = "No"
var divPrincipal = document.getElementById("divPrincipal");
var idReq = document.getElementById("req" + id).value;
var claveProyecto = document.getElementById("claveproyecto").value;
var url = 'actualizarRenglonAjax.py?nivel='+nivel+'&tipo='+tipo+'&idReq='+idReq+'&claveProyecto='+claveProyecto;
if(document.getElementById("selectReq" + id).value == ""){
xmlhttp = GetXmlHttpObject(nivel);
if(!xmlhttp) {
alert("Browser does not support HTTP Request");
return;
}
var xml = xmlhttp;
xmlhttp.onreadystatechange = function() {
if(xml.readyState == 1) {
loading.innerHTML = "<img src='/RH/images/loading_4.gif' />"
}
if(xml.readyState == 4) {
divPrincipal.innerHTML = xml.responseText;
actualizarTodo();
}
};
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
return true;
}
else
alert("No se puede eliminar");
}
我非常感谢您的帮助 非常感谢!
最佳答案
我建议向图像添加一个选择器值,然后以不显眼的方式绑定(bind)事件(使以后的维护更容易)。
这样做:
<img src="/RH/images/tacha.png" class="myImage" />
然后,在加载 DOM 后,附加您的事件(为了简单起见,这里使用 jquery)
$('img.myImage').bind('click', function() {
alert('testing!');
eliminarRenglon('eliminar','%s');
});
关于javascript - 在 Firefox、Chrome 和 Safari 上无法正常工作 "onclick ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286442/