JS 中的 eventevent:window.event什么意思求详解。

JS 中的 eventevent:window.event什么意思求详解。,第1张

1、this 表示这个<input> 元素,等同于documentgetElementById;

2、a)你的理解是正确的,但是不仅只有undifined会被强制转换。

    js的弱类型,让他可以申明后赋任何类型的值。

因此除了bool型的false,number类型的0,String类型的空串,还有null在三元运算符或者判断条件时都会被转成false

其他还有一些,可以看一看比较基础的javascript书和《javascript高级程序设计》,可谓一阅扫百惑,比在网上别人一知半解的讲述了解的更彻底。

b)通过上面的解答,应该知道为什么不能用event代替this了吧

c)js对于函数的定义是非常松,即使你在函数定义时未写任何参数,或者你定义的参数有多个,但是你调用时,一个参数也不填,也不会出错的。

js函数内默认有个变量,保存你的入参叫:arguments

他是一个数组,下标从0开始,

所以获取event可以写成

function Test(){

var event = windowevent||arguments[0];

}

在ie下,事件对象是在全局的,也就 window下,做为window的一个属性

在其他浏览器,都做为方法的第一个参数传入,所以这样写是为了兼容

要获取这个button的值,可以先获取这个对象,event既然是事件,肯定是某对象触发的

所以有这要一个方法

ie下是eventsrcElement

其他浏览器是eventtarget

所以获取这个对象和获取事件对象的值可以这样写

function Test(){

var event = windowevent||arguments[0],

//target 就是这个对象

target = eventsrcElement||eventtarget,

//这个对象的值

targetValue = targetvalue;

}

eventsrcElement从字面上可以看出来有以下关键字:事件,源 他的意思就是:当前事件的源,event //事件 eventsrcElement 可以捕获当前事件作用的对象,如eventsrcElementtagName可以捕获活动标记名称。

注意获取的标记都以大写表示,如"TD","TR","A"等 <script type="text/javascript"> function tdclick(){ if(eventsrcElementtagNametoLowerCase()=='td') alert("行:"+(eventsrcElementparentNoderowIndex+1)+"列:"+(eventsrcElementcellIndex+1)); } </script>

事件源对象

eventsrcElementtagName(documentgetElementsByTagName)

eventsrcElementtype

捕获释放

eventsrcElementsetCapture();

eventsrcElementreleaseCapture();

事件按键

eventkeyCode

eventshiftKey

eventaltKey

eventctrlKey

事件返回值

eventreturnValue

鼠标位置

eventx

eventy

窗体活动元素

documentactiveElement

绑定事件

documentcaptureEvents(EventKEYDOWN);

访问窗体元素

documentall("txt")focus();

documentall("txt")select();

窗体命令

documentexecCommand

窗体COOKIE

documentcookie

菜单事件

documentoncontextmenu

创建元素

documentcreateElement("SPAN");

根据鼠标获得元素:

documentelementFromPoint(eventx,eventy)tagName=="TD

documentelementFromPoint(eventx,eventy)appendChild(ms)

窗体

documentimages[索引]

窗体事件绑定

documentonmousedown=scrollwindow;

元素

document窗体elements[索引]

对象绑定事件

documentallxxxdetachEvent('onclick',a);

插件数目

navigatorplugins

取变量类型

typeof($js_libpath) == "undefined"

下拉框

下拉框options[索引]

下拉框optionslength

查找对象

documentgetElementsByName("r1");

documentgetElementById(id);

定时

timer=setInterval('scrollwindow()',delay);

clearInterval(timer);

UNCODE编码

escape() ,unescape

父对象

objparentElement(dhtml)

objparentNode(dom)

交换表的行

TableIDmoveRow(2,1)

替换CSS

documentallcssshref = "acss";

并排显示

display:inline

隐藏焦点

hidefocus=true

根据宽度换行

style="word-break:break-all"

自动刷新

<meta >

这个你可能需要一些辅助方法,来帮助定位元素,因为在dom中事件是冒泡的形式到document对象上的,而srcElement一直指向的是当时发生事件的元素,只要一直选择这个元素的父亲元素,就可以匹配到你想要的元素了,比如

<table id="test1">

  <tbody>

    <tr>

      <td>click me (#test1)</td>

    </tr>

  </tbody>

</table>

<table id="test2">

  <tbody>

    <tr>

      <td>click me (#test2)</td>

    </tr>

  </tbody>

</table>

js:

documentonclick = function(e){

  e = e || windowevent;

  src = etarget || esrcElement;

  var table = parents(src , 'table');//这样可以拿到当前点击的这个元素的table

  var tr = parents(src , 'tr');//这样拿到当前点击的元素的父亲(tr);

  alert(tableid);//table的id

}

//查找父节点

function parents(el , parentName){

  var parent = elparentNode;

  if(!parent)return null;//如果根本就没有父节点,那么返回null

  

  do{

    if(parenttagNametoLowerCase() == parentNametoLowerCase()){

      //如果这个就是想要找的节点,就返回这个

      //在jq的校验里还可以校验class名称和其它的属性校验等

      //这个简化版就直接校验标签名称

      return parent;

    }

  }while(parent = parentparentNode);//递归一直查找父亲的父亲。。

  

  return null;//如果没有找到,也返回null

}

以上就是关于JS 中的 eventevent:window.event什么意思求详解。全部的内容,包括:JS 中的 eventevent:window.event什么意思求详解。、JS中 event.srcElement是什么意思, event是什么、怎么获取触发事件的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10077185.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存