在firefox,chrome和safari上不工作“onclick”

时间:2012-02-15 00:50:26

标签: javascript python html onclick

我正在使用python,HTML和javascript编写程序。我有两个图像作为按钮changin颜色onmouseover和onmouseout。它还具有在onclick事件发生时有效的功能。 Internet Explorer上的一切都运行良好(这是一个额外的)但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");
}

我真的很感激帮助 非常感谢!

1 个答案:

答案 0 :(得分:2)

我建议在图像中添加一个选择器值,然后以不引人注目的方式绑定事件(稍后使维护更容易)。

这样做:

<img src="/RH/images/tacha.png" class="myImage" />

然后,在加载DOM之后,附加您的事件(为简单起见,这里是jquery)

$('img.myImage').bind('click', function() { 
  alert('testing!'); 
  eliminarRenglon('eliminar','%s'); 
});