2012-04-30 18 views
2

中,我从服务器端拉入http代码。当这段代码被放入应用程序时 - 在IE中单击时会发生该事件,但不会在任何其他浏览器中发生。下面是处理点击图像和事件的代码部分。onClick事件不会在firefox或chrome中触发,只有在我的应用程序的IE

<img canExpand="true" style="cursor:hand" id="img34635" src="../images/plus.gif" EntityID="346" EntityCat="35" onclick="LoadChild(this.EntityID, this.EntityCat, 0, this.lnEquip)"> 

LoadChild是页面客户端的JavaScript函数。当在IE以外的任何地方点击图片时,没有任何反应。任何人都可以看到为什么会发生?这可能是一个格式问题。再次感谢。

编辑 - 这里是JavaScript函数加载子

function LoadChild(lnEntityID, lnEntityCat, FullExpand, EquipID) { 

      document.getElementById('dropTypes').disabled = false; 
      document.getElementById('dropTypes').style.background = "white"; 

      DescStatus = 0; 

      if (lnEntityCat == 0) { 
       window.status = "Loading the tree..."; 
       PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0, 0, 1, LoadChildCallback); 

      } 
      else if (document.getElementById('img' + lnEntityID + lnEntityCat).canExpand == "true") { 
       if (document.getElementById('div' + lnEntityID + lnEntityCat).style.display == 'none') { 
        document.getElementById('div' + lnEntityID + lnEntityCat).style.display = 'block'; 
        document.getElementById('img' + lnEntityID + lnEntityCat).src = "../images/minus.gif" 
        window.status = "Loading the tree...HERE"; 




        PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0, 0, 1, LoadChildCallback); 


             } 
       else { 
        document.getElementById('div' + lnEntityID + lnEntityCat).style.display = 'none'; 
        document.getElementById('img' + lnEntityID + lnEntityCat).src = "../images/plus.gif" 
       } 
      } 
     } 
+0

你是否在其他浏览器的控制台中看到任何错误? – Mathletics

+0

用这个html 我们不能说问题在哪里?你可以发布OnClick for JS吗? – coder

+0

已将javascript函数添加到原始帖子中。 – njj56

回答

2

很奇怪,但我知道没有了分号的干扰click事件。所以试试

onclick="LoadChild(this.EntityID, this.EntityCat, 0, this.lnEquip);" 

注意添加;

OR

当然

你总是可以使用像jQuery的

$('#img34635').click(function(){ 

    LoadChild(this.EntityID, this.EntityCat, 0, this.lnEquip); 

}); 

bindon(更高版本的jQuery)部分的API来完成工作以及

您的一个或多个参数可能需要用撇号包围。例如,在代码的某些部分,参数lnEntityCat肯定被视为字符串。

老实说 - 如果是传统代码,那么可能会有各种令人不快的功能干扰各种浏览器。我会对此发表评论,但只有一两行文字可以在那里发挥作用。祝你好运

+0

分号没有什么区别,试图避免现在的jquery,但可以看看,如果只选项。 – njj56

+0

然后我可以想象一个或多个参数需要在它们周围的撇号,以便它们作为字符串正确处理。这可能吗? –

+0

它可能是,我现在已经在第一篇文章中发布了javascript函数。这是非常古老的(有关于IE4和document.all的代码),我在一份新工作中继承了这些代码。 – njj56

相关问题