事件处理函数的参数是哪里来的

OmerJ 2017-07-21 04:44:22

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta charset="utf-8" />
<title>HTML Test</title>
<script>
function formValid(eventObj) {
if (document.forms[0].textname.value.length == 0) {
alert("Name is required.");
if (eventObj.preventDefault) {
eventObj.preventDefault();
} else {
window.event.returnValue = false;
}
return false;
} else {
alert("Hello " + document.forms[0].textname.value);
}
return false;
return true;
}
function frv() {

}
</script>
</head>

<body>
<p>A Basic Form Example</p>
<form id="form1Id" name="form1Name" action="#">
<p>Name <em>(Required)</em>:<input id="textbox1" name="textname" type="text" /></p>
<p><input id="submitbutton1" type="submit" /></p>
<script>
var formE1 = document.forms['form1Name'];
formE1.addEventListener("submit", function (eventObj) { formValid(eventObj); });
</script>
</form>
</body>

</html>


第37号 eventObj 应该表示的是formE1的事件对象,但是这个对象我没有定义过,它是哪里来的?
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-07-21
  • 打赏
  • 举报
回复
函数的参数是事件处理程序传递的.它是把事件event对象传递到函数的第一个参数中,至于你函数的第一个参数起什么名字就随便了
OmerJ 2017-07-21
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
事件处理函数是由浏览器内部的事件处理程序调用的 函数的参数也是这个浏览器内部的事件处理程序传递的
我不明白function (eventObj) { formValid(eventObj); }这个传递的参数是哪里来的。因为我把eventObj改成evOj也可以正常运行,不过我从来没有定义过它。
天际的海浪 2017-07-21
  • 打赏
  • 举报
回复
事件处理函数是由浏览器内部的事件处理程序调用的 函数的参数也是这个浏览器内部的事件处理程序传递的

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧