2012-02-15 17 views
0

私はPython、HTML、およびJavaScriptを使用してプログラムを作成しています。私はonmouseoverとonmouseoutの色を変更するボタンとして機能する2つの画像を持っています。また、onclickイベントが発生したときに機能する関数もあります。インターネットエクスプローラ(これは奇妙です)ではすべてがうまく動いていますが、onclickイベントはsafari、chrome、またはfirefoxで動作していません。エラーコンソールはエラーを表示せず、コンソールのerror.logもマークしません。"onclick" on firefox、chrome and safari

コードに間違いがありますか? 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と "testing"関数でうまく機能します。ここでは、 "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

イメージにセレクタ値を追加し、イベントを邪魔にならないようにバインドすることをお勧めします(メンテナンスは後で簡単になります)。

このようにそれを実行してください:DOMがロードされた後、(簡単にするためにjqueryのここに)あなたのイベントを添付し、その後、

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

$('img.myImage').bind('click', function() { 
    alert('testing!'); 
    eliminarRenglon('eliminar','%s'); 
}); 
関連する問題