event.srcElement与event.target

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <!-- 
      window.event 对象 
      firefox 没有window.event 对象,可以通过函数的参数传递event对象, 例如:οnmοusedοwn=function(event) 
       解决方法 var e =window.event||event;
      event.srcElement 和event.target 
      IE :有srcElement属性,没有target属性
      firefox: 有target 属性,没有srcElement属性
      event.srcElement 和event.target的作用是一样的,<[获取事件作用的元素:: ]>
      IE 下的event.srcElement =firefox 下的event.target
      兼容方法: obj =event.srcElement ?event.srcElement :event.target;
      
      <[ nodeType 属性返回被选节点的节点类型]>
      <[ reference:http://www.w3school.com.cn/jsref/dom_obj_event.asp]>
      1     Element 
      2     Attribute 
      3     Text 
      4     CDATA Section 
      5     Entity Reference 
      6     Entity 
      7     Processing Instrucion 
      8     Comment 
      9     Document 
      10    Document Type 
      11    Document Fragment 
      12    Notation  
     -->
  </head>
    <script type="text/javascript">
    function eventLoc()
    {
       var targ;
       if (!e)
       {
          var e = window.event||event;
          if(e.target)
          {
             targ = e.target;
          } 
          else if (e.srcElement) 
          {
             targ = e.srcElement;
          }
       };
       if (targ.nodeType == 3)
       {  
          // nodeType==3代表<[node.text_node]> 
          targ =targ.parentNode;
       };
       var tname, tText, tId,nodeTypeNum;
       tname = targ.tagName;
       tText = targ.value;
       tId = targ.id;
       nodeTypeNum = targ.nodeType;
       alert("you clikced on a " + tname + " element and its value is: ->" + 
              tText + "its id is ->" +tId +":"+nodeTypeNum);
    }   
    
    function eventTar()
    {
       var targ;
       if (!e)
       {
           var e=window.event||event;
           var obj=e.srcElement ?e.srcElement :e.target;
           targ = obj;
       };
       // <[onfocus 作用的元素是文本节点 ]>
       if (targ.nodeType == 3)
       {
           targ =targ.parentNode;
       };
       var tname;
       tname = targ.tagName;
       alert(tname+" element was clicked");
    } 
    </script>
  <body>
    if语句: <input type="text" id="eventLoc" name="eventLoc" οnfοcus="javascript:eventLoc();" value="ok">
    三元式:  <input type="text" id="eventLoc" name="eventLoc" οnfοcus="javascript:eventTar();" value="event_works">
  </body>
</html>

event

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	<[reference: http://www.w3school.com.cn/htmldom/index.asp]>
	<[reference: https://developer.mozilla.org/zh-CN/docs/Web/API/Element.tagName]>
	<[reference: http://blog.csdn.net/nanshan_hzq/article/details/7160930]>
	 parent.parent.frames("treeFrame").location.reload();
	 -->
   <script type="text/javascript"> 
   function getBtnIndex(indexList)
   {
    var srcIndex = -1;
    for (var i = 0; i < indexList.length; i++)
    {
         var targ;
         if (!e)
         {
           var e=window.event||event;
           var obj=e.srcElement ?e.srcElement :e.target;
           targ = obj;
         };
         
        if (indexList[i] == targ)
        {
            srcIndex = i;
            break;
        }
    }
        return srcIndex;
    }
    
   function c_deleteTableRow()
   {
    var oTable = document.getElementById("frmTab");
    var deleteBtn = document.getElementsByName("deleteBtn");
	var srcIndex = getBtnIndex(deleteBtn);
        if(confirm("确定要删除该行吗?"))
	    {
		    oTable.deleteRow(srcIndex);	       
	    }
	    // 进行数据操作函数
	    // deleteDataFromDatabase();
	    // document.getElementById("params").value = params;
    }
    </script>
  </head>
  
  <body>
     <table id="frmTab">
         <tr><td style="color:red">第1行代码</td>
         <td>
         <input type="button" value="firstRow" id="deleteBtn1" name="deleteBtn" οnclick="javascript:c_deleteTableRow();">
         </td>
         </tr>
         <tr><td style="color:red">第2行代码</td>
         <td>
         <input type="button" value="secondRow" id="deleteBtn2" name="deleteBtn" οnclick="javascript:c_deleteTableRow();">
         </td>
         </tr>
         <tr><td style="color:red">第3行代码</td>
         <td>
         <input type="button" value="thirdRow" id="deleteBtn3" name="deleteBtn" οnclick="javascript:c_deleteTableRow();">
         </td>
         </tr>
     </table>
  </body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值