javascript高手请进

比如我定义一个函数 function one(e){//execute some code} w3c 模型下阻止一个表单的提交动作,为什么是e.preventDefault()e不是函数的参数吗?又不是事件,不是阻止事件的关联动作吗?按我的理解e是函数的一个参数,怎么会阻止表单提交动作呢?

你基础没有学好呀。
e确实是一个参数,但在事件函数中,第一个参数e是浏览器默认传递给函数的,表示事件对象。
例如你绑定了一个mousemove鼠标移动事件,那么如何在事件函数中取得鼠标的位置呢?一般就会:
function move(e) {
var x = e.pageX, y = e.pageY;
}
事件对象中包含了此次事件所包含的上下文信息,例如鼠标位置、按键的ASCII码等,还包含了一些方法,利用这些方法可以对事件进行控制,如你所说的preventDefault()方法,就用来阻止浏览器的默认行为,表单提交的默认行为就是提交操作,因此你调用preventDefault()方法后,表单就不会提交了。
再例如你在鼠标点击事件中使用了e.preventDefault(),如果你点击的是鼠标右键,就不会弹出默认的菜单了。追问

按你的说法,我注册了一个mouseover事件,当事件发生时,事件中指向的处理函数会用第一个参数为对象?比如addEventListener中的事件处理函数为one(e)实际上浏览器就把e作为了mouseover事件对象?

追答

是的,这个参数时浏览器默认传入的,不需要你手动传,事件对象包含于当前事件相关的信息和或方法。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-23
e事件的状态,使用存在浏览器兼容
function one(e){
e=e || windows.event;
e.preventDefault();

高手请进:js是怎么回事
你说的JS可能是JavaScript语言,用在网页里面,写的程序由客户端口的浏览器(比如IE)解释执行,可能实现页面内的数据排序、动画等功能。

怎样启用JavaScript这个软件高手进
打开IE选项(工具>>Internet选项)选择“安全”标签,点一下默认级别 如果还是不行的话,点一下自定义级别,把里面的脚本改为启用

javascript高手请进,关于表格分页问题?有个15行的表格 每页显示5行...
判k的范围,不然在tr数量不为5的整倍数时会出问题。另外cursor: hand是IEonly,换成cursor: pointer。

这个功能是不是用JS可以做到,高手请进
function copy(){ document.getElementById("input1").value=document.body.innerHTML;document.getElementById("input1").select();document.execCommand("copy")} 以上是取body中的代码 取全代码如下 同一楼!document.documentElement.outerHTML获取页面所有代码 IE的DHTML对象提供了四个可读...

高手请进,javascript调用office内置搜索对话框 Application.dialogs...
event = event || window.event;var keycode = event.keyCode || event.which;switch(keycode){ case 13:main.innerHTML = "enter";break;case 37:main.innerHTML = "zuo";break;case 38:main.innerHTML = "shang";break;case 39:main.innerHTML = "you";break;case 40:main.innerHTML =...

JS实现日期年份自动加6 ,高手请进。
1. <%= %> 表示服务器端代码,也就是说一旦页面加载好,就会变成一个常数 --- 2. 本人建议这样修改:var wl_yxqz = document.getElementById("fzrq").value;\/\/ 获取日期 var vDate = new Date(wl_yxqz);\/\/ 设置最终日期 vDate.setYear((vDate.getFullYear() + 6));\/\/ 给控件赋值...

javascript变量清空的问题?高手请进?
delete 变两名

js高手请进啊!!静态页面搜索问题
如果不考虑时间的话,你可以把整个HTML页面看作一个DOM对象,利用javascript,从document这个根元素开始逐节点递归搜索。

请javascript高手看看,为什么声明函数中有两个参数,而函数体中只能用...
这个函数的作用是对第一个参数进行格式化的。当然是根据第二个参数来格式化第一个参数了。

【高手进】如何启动JavaScript
”浏览器的菜单栏”--》“工具”选项--》“Internet”选项--》“安全”选项--》“自定义级别***”选项--》找到“脚本”一栏把里面的“Java 小程序”选项选择“启用”!或者 把 “脚本”一栏 里面的“Java 小程序”的所有都选择“启用”!

相似回答
大家正在搜