2012-02-15 60 views
0

我正在使用python,HTML和javascript編寫程序。我有兩個圖像作爲按鈕改變onmouseover和onmouseout的顏色。它還有一個功能,在onclick事件發生時起作用。在Internet Explorer(這是extrange)上一切正常,但onclick事件不適用於safari,chrome或firefox。錯誤控制檯不會標記任何錯誤,也不會在控制檯上顯示error.log。在firefox,chrome和safari上無法運行「onclick」

您是否看到代碼有問題?是否有一些功能,如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"); 
    } 

甚至沒有「測試」功能的作品。 「excluarRenglon」功能在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"); 
} 

我真的很感謝幫助 非常感謝!

回答

2

我建議在圖像中添加一個選擇器值,然後以不顯眼的方式綁定事件(稍後使得維護更容易)。

做這樣的:

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

然後,加載DOM後,附上你的事件(jQuery的在這裏爲簡便起見)

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