没有event就没有脚本。可以看看任何有JavaScript代码的网页:几乎所有的例子都有一个事件触发了脚本。原因非常简单。JavaScript就是给你的页面添加内部活动:用户做一些事情然后页面做出回应。 因此JavaScript就需要一个方法能够检测到用户的动作然后才能知道什么时候做出反应。这还需要知道那个函数会被执行,函数会做一些你认为的给你的网页增色的动作。这些文字描述了如何去写这样的脚本。虽然不容易,但是这是一个很让人满足的...
在这里提出的事件,当他们发生在一个确定的HTML元素上的时候,他们的名字能够被大多数的浏览器所识别。也就是说,浏览器会查找你为这个HTML元素所注册的事件处理程序的脚本,而且会被立即执行。 一开始只有为数很少的一些事件。这些事件在几乎所有的JavaScript浏览器都能运行,即使是那些非常古老的。需要注意的是那些早期的事件只能工作在链接或者表单上,有时候也能运行在整个窗口上,但是其他的大多数HTML元素不行。 ...
这些古老的浏览器只支持一种注册事件处理程序的方法,这个方法是Netscape发明的。因为Netscape先发制人,所以如果微软也想做支持JavaScript事件的浏览器就得跟着Netscape走,所以这里没有兼容性的问题。所以这种模式在任何支持JavaScript的浏览器都能运行---除了Mac上的IE3,他根本就不支持事件。 注册事件处理程序 在内联式的事件注册模型中,事件处理程序就像是一个HTML元素的属性,比如: <A HREF="somewhere.html" onClick="al...
先看看都有哪些鼠标事件:mousedown,mouseup_and_click,dblclick,mousemove和mouseover mouseout。然后还会解释一下relatedTarget,fromElement和toElement这些事件属性。最后是微软的mouseenter和mouseleave事件。 浏览器的兼容性问题,可以在浏览器兼容性列表查看。例子 这里有一个例子。可以帮助理解下面的内容。 mousedown,mouseup,click和dblclick在这个链接上注册。可以再下面的文本框里面查看。或者在对话框里面。(请在原...
在最古老的JavaScript浏览器里注册事件只能通过内联模式。自从DHTML从根本上改变了你操作页面的方法,事件的注册就必须有扩展性而且要有很强的适应性。所以就必须有相应的事件模型。Netscape在第三代浏览器中就开始了,IE在第四代浏览器开始。 因为Netscape 3就开始支持这种新的事件注册模型,在浏览器战争前就是事实上的标准。所以微软不得不也是最后一次为了网上那些数不清的使用了Netscape事件处理模型的页面在兼容性上做出了让...
比如得到触发事件的元素引用在IE浏览器下是:event.srcElement,在FF浏览器下则是:event.target,另外又比如在FF浏览器下得到光标相对页面的位置是event.pageX,而IE浏览器下的处理方式又是不一样的,当然还有一些像“阻止事件冒泡”以及“取消浏览器默认行为”等,不同浏览器也有不同的处理方式,如果我们要使JavaScript在不同的浏览器下能正常处理事件代码,就要分别进行判断处理。现在jQuery为我们提供了统一兼容处理函数$.eve...
代码如下:function getEvent() { var i = 0; if(document.all){ return window.event; } func = getEvent.caller; while(func != null) { var arg0 = func.arguments[0]; if(arg0) { if(arg0.constructor == MouseEvent) { return arg0; } } func = func.caller; } return null; } 函数中要引用须传参e才能等到: 代码如下:function buttonOver(e) { e = getEvent(); var obj = e.srcElement || e.target; if (obj.runtimeStyle){...
因为javascript的事件模型有三种,它们分别是NN4、IE4+和W3C/Safari;这也造成了在不同的浏览器中处理event的差异,这里结合一些零碎的代码来说明如何做到event在IE4+和Firefox下的正常工作。首先看如下代码: 代码如下:function doEventThing(eventTag){ var event = eventTag||window.event; var currentKey = event.charCode||event.keyCode; var eventSource =window.event.srcElement||eventTag.target; } 这段代码主要是...
注意获取的标记都以大写表示,如"TD","TR","A"等。所以把看过的一些抄下来,不记得的时候再来看看。 代码如下:<script type="text/javascript"> function tdclick(){ if(event.srcElement.tagName.toLowerCase()==td) alert("行:"+(event.srcElement.parentNode.rowIndex+1)+"列:"+(event.srcElement.cellIndex+1)); } </script> event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思就是:当前事件的源, 我们可...
1,关于event的用法 存在问题:IE中可以直接使用event对象,但是Mozilla不可以直接使用。 例如: <input type="button" value="clickMe" nclick="doIt()"> <script. language="javascript"> function doIt(){ alert(event); } </script> 这段代码在Mozilla浏览器中是不能正常工作的,因为Mozilla浏览器中没有默认的event对象,只能在事件发生的现场使用。 下面看一下两者都兼容的代码: IE&Moz <input ty...
代码如下:<div> <table nclick="gotClick(event,table,this)" id="table"> <tr nclick="gotClick(event,tr,this)" id="tr"> <td nclick="gotClick(event,td,this)" id="td"> <input type="button" name="button" value="单击我" onclick="gotClick(event,按钮,this);" id="button"> </td> </tr> </table> </div> <div id=result> </div> js文件 代码如下:function gotClick(event,msg,obj){ var object; var msgs = msg+" => 被单...
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <input id="butt" type="button" value="提交" /> </body> <script type="text/javascript"> var EventUtil = {};...
通常为了兼容IE与FireFox,一般的事件处理方法为: 代码如下:btn.onclick=handle_btn_click; function handle_btn_click(evt){ if(evt==null)evt=window.event;//IE //处理事件. } 对于简单的程序,这不算麻烦. 但对于一些复杂的程序,某写函数根本就不是直接与事件挂钩的.如果要把event传进该参数,那么所有的方法都要把event传来传去..这简直就是噩梦. 下面介绍一个解决这个麻烦事的方法,与原理. JScript中,函数的调用是有一个 fun...
另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。 点击 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]综合上节attachEvent与addEventListener。点击 添加事件点击[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]下面是关于ie与firefox event的详细区别window.event IE:有window.event对象 FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove...
更多的文章可以参考 //www.gxlcms.com/tag/event/1.htm另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。 srcElement --//www.gxlcms.com/ 点击 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 查看运行结果 综合上节attachEvent与addEventListener。 代码如下:<script type="text/javascript"> <!– function Click(event){ event = event? event: window.event; var ob...