如果进行javascript事件消息传递 这个也就是在div里加上onclick事件呀。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 单击div(层)->隐藏层单击div(层)->表格(通过位置找到)->调用表格接口 shangxinyu123(龙) 的回答还是不可行.作DELPHI开发里有消息传递下去的概念不知道JS有没有,希望更多人回答一下我的问题. JS事件是向上传递的,是冒泡事件。你可以直接在点击上层div的时候用fireEvent语法:bFired = object.fireEvent(sEvent [, oEventObject]) 更正一下:应该是DHTML事件,而不是JS事件 我的目的是在div点击后隐藏DIV并把单击作用于它背后的元素如何作,能不能再具体点?谢谢了. 就是div点击事件里面{ 后面的表格.fireEvent("onclick")}////后面的表格立即触发单击事件 研究一下DOM事件机制吧http://www.blogjava.net/mxx/archive/2006/11/16/81626.htmlDOM2中的高级事件处理 译的不好,原文在犀牛书5th 17.2章节 定义一个数组,在click div的时候获取鼠标的坐标,然后根据坐标判断底下的是哪个表格,再调用该表格的相关事件。 例子:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title> New Document </title><script language="javascript">var tabArr=new Array();//获取所有table的坐标function initArr(){ var tabs=document.getElementsByTagName("TABLE"); for(i=0;i<tabs.length;i++) { var tabRng=new Array(); { tabRng[0]=tabs[i].offsetLeft; tabRng[1]=tabs[i].offsetTop; tabRng[2]=tabs[i].offsetLeft+tabs[i].scrollWidth; tabRng[3]=tabs[i].offsetTop+tabs[i].scrollHeight; } tabArr[i]=tabRng; } }function clickDiv(){ e=event; document.getElementById("Layer1").style.display="none"; dd(e);}function dd(e){ if(e!=null) { //alert(e.clientX); var tab=null; for(i=0;i<tabArr.length;i++) { //获得后面的table对象 if(e.clientX>tabArr[i][0] && e.clientX<tabArr[i][2] && e.clientY>tabArr[i][1] && e.clientY<tabArr[i][3]) { tab=document.getElementsByTagName("TABLE")[i]; clickTab(tab); break; } } }}function clickTab(obj){ alert(obj.id+" click method is invoked!");}</script></head><body onload="initArr()"><table id="tab1" width="200" border="1" cellspacing="0" cellpadding="0" onclick="clickTab(this)"> <tr> <td> </td> <td> </td> </tr> <tr> <td height="90"> </td> <td> </td> </tr></table><table id="tab2" width="200" border="1" cellspacing="0" cellpadding="0" onclick="clickTab(this)"> <tr> <td> </td> <td> </td> </tr> <tr> <td height="90"> </td> <td> </td> </tr></table><div id="Layer1" style="position:absolute; left:19px; top:20px; width:153px; height:99px; border:1px solid #F00;background-color:#FF0;z-index:1" onclick="clickDiv()"></div></body></html> 能不能用javascript做个大转盘抽奖? 请教javascript对表格进行拖拽的问题 一天了 也没解决的问题 高手帮忙!!!! 这个功能是否能够实现? javascript如何判断数组内元素是否重复? 如何获取div层里面的所有元素?? 急件。。怎样页面一装载不是在最上端而是在最下端。。急。。 请教一个事件问题onKeypress unbind和bind解决叠加事件的原理 表单中ueditor 输入html代码段 ajax提交总是404 求帮助 这段代码什么意思啊?奇怪的函数,找都找不到 try到底是铺捉什么样的错误啊。
单击div(层)->隐藏层单击div(层)->表格(通过位置找到)->调用表格接口
作DELPHI开发里有消息传递下去的概念不知道JS有没有,希望更多人回答一下我的问题.
语法:bFired = object.fireEvent(sEvent [, oEventObject])
应该是DHTML事件,而不是JS事件
{
后面的表格.fireEvent("onclick")
}////后面的表格立即触发单击事件
DOM2中的高级事件处理 译的不好,原文在犀牛书5th 17.2章节
<html>
<head>
<title> New Document </title>
<script language="javascript">var tabArr=new Array();//获取所有table的坐标
function initArr()
{
var tabs=document.getElementsByTagName("TABLE");
for(i=0;i<tabs.length;i++)
{
var tabRng=new Array();
{
tabRng[0]=tabs[i].offsetLeft;
tabRng[1]=tabs[i].offsetTop;
tabRng[2]=tabs[i].offsetLeft+tabs[i].scrollWidth;
tabRng[3]=tabs[i].offsetTop+tabs[i].scrollHeight;
}
tabArr[i]=tabRng;
}
}
function clickDiv()
{
e=event;
document.getElementById("Layer1").style.display="none";
dd(e);
}function dd(e)
{
if(e!=null)
{
//alert(e.clientX);
var tab=null;
for(i=0;i<tabArr.length;i++)
{
//获得后面的table对象
if(e.clientX>tabArr[i][0] && e.clientX<tabArr[i][2] && e.clientY>tabArr[i][1] && e.clientY<tabArr[i][3])
{
tab=document.getElementsByTagName("TABLE")[i];
clickTab(tab);
break;
}
}
}
}
function clickTab(obj)
{
alert(obj.id+" click method is invoked!");
}
</script>
</head><body onload="initArr()">
<table id="tab1" width="200" border="1" cellspacing="0" cellpadding="0" onclick="clickTab(this)">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="90"> </td>
<td> </td>
</tr>
</table>
<table id="tab2" width="200" border="1" cellspacing="0" cellpadding="0" onclick="clickTab(this)">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="90"> </td>
<td> </td>
</tr>
</table>
<div id="Layer1" style="position:absolute; left:19px; top:20px; width:153px; height:99px; border:1px solid #F00;background-color:#FF0;z-index:1" onclick="clickDiv()"></div></body>
</html>