簡體   English   中英

js onclick事件不適用於td元素

[英]js onclick event doesn't work on td element

我想在使用此功能的td單擊上創建彈出式div(名為linkdiv linkcontent div):

function getLinks(lid) {
  document.getElementById('linkdiv').style.display = "block";
  document.getElementById('linkdiv').style.visibility = "visible";
  document.getElementById('linkcontent').innerHTML = "<div align=center><img src='images/spacer.gif' border=0 height=280 width=10 alt=''><br><img src='images_v2/loading.gif' border=0 alt='Loading content'></div>";
  var lurl = "viewlinksdiv.php?lid="+lid;
  if(window.XMLHttpRequest) {
    reql = new XMLHttpRequest;
  } else if(window.ActiveXObject) {
    reql = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if(reql) {
    reql.onreadystatechange = getLinkResp;
    reql.open("GET",lurl,true);
    reql.send(null);
  } else {
    alert("Your browser does not support XMLHttpRequest technology!");
    doesNotSupport = false;
  }
}

td是..

 echo " <tr> <td width=240 height=20 align=\\ "left\\" valign=\\ "top\\" style=\\ "cursor:hand;cursor:pointer;padding-top:".$pad. ";padding-bottom:5px\\" onclick=\\ "getLinks('".$mid. "');return:false;\\"><b class='news_date'>".$mdate."&nbsp;&nbsp;".$cname.$mpol.":</b>&nbsp; <font class='news_title'>".$msectname."</font><br> <font class='news_date'>".$moretext."</font> </td> </tr>\\n"; 

我要顯示的div是

<div id="linkdiv">
  <div id="linkdiv_body">

    <div id="tapclose" align="right" onclick="closeLink()" alt="Close">X</div>
    <div id="linkcontent" class="linkdiv_font"></div>

  </div>
</div>

此功能正在使用a href元素,例如

<a class="jslink" href="javascript:getLinks('3975')">link</a>

但不適用於td onclick元素。 這很奇怪,因為它使用的是相同的功能。 任何人都知道為什么這行不通嗎? 謝謝。

由於某些語法錯誤,未調用Javascript函數,請使用以下代碼更新您的php代碼。 另一件事是在onclick事件中,您具有“ return:false”,應該為“ return false”

echo "
 <tr>
  <td width=240 height=20 align='left' valign='top' style='cursor:hand;cursor:pointer;padding-top:".$pad. ";padding-bottom:5px' onclick=\"getLinks('".$mid. "');return false;\"><b class='news_date'>".$mdate."&nbsp;&nbsp;".$cname.$mpol.":</b>&nbsp;
   <font class='news_title'>".$msectname."</font><br>
   <font class='news_date'>".$moretext."</font>
  </td>
 </tr>\n";

下面是工作示例

 function getLinks(lid) { alert("called"); document.getElementById('linkdiv').style.display = "block"; document.getElementById('linkdiv').style.visibility = "visible"; document.getElementById('linkcontent').innerHTML = "<div align=center><img src='images/spacer.gif' border=0 height=280 width=10 alt=''><br><img src='images_v2/loading.gif' border=0 alt='Loading content'></div>"; var lurl = "viewlinksdiv.php?lid="+lid; if(window.XMLHttpRequest) { reql = new XMLHttpRequest; } else if(window.ActiveXObject) { reql = new ActiveXObject("Microsoft.XMLHTTP"); } if(reql) { reql.onreadystatechange = getLinkResp; reql.open("GET",lurl,true); reql.send(null); } else { alert("Your browser does not support XMLHttpRequest technology!"); doesNotSupport = false; } } 
 <table> <tr> <td style="cursor:hand;cursor:pointer;padding-top:10;padding-bottom:5px" onclick="getLinks('9999');return false;" width="240" valign="top" height="20" align="left"><b class="news_date">1/1/2017&nbsp;&nbsp;TestTestMPol:</b>&nbsp; <font class="news_title">Test</font><br> <font class="news_date">More</font> </td> </tr> </table> 

您可以單擊“ TestTestMPol”,您將看到警報。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM