黑马程序员技术交流社区
标题:
JavaScript中事件关联方法弄不明白的地方?
[打印本页]
作者:
王海舟
时间:
2012-9-1 10:13
标题:
JavaScript中事件关联方法弄不明白的地方?
源代码如下:
<!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>
<title></title>
<script type="text/javascript">
function f1() {
alert("我是f1");
}
function f2() {
alert("我是f2");
}
</script>
</head>
<body>
<input type="button" value="请点我1" onclick="f1()" />
<input type="button" value="请点我2" onclick="document.ondblclick=f2" />
</body>
</html>
复制代码
问题如下:
<input type="button" value="请点我1" />
<input type="button" value="请点我2" />
这两行代码中:
前一行的方法f1后面加了括号,为"onclick="f1()" ;
后一行的方法f2后面没有加括号,为onclick="document.ondblclick=f2"
我的理解是:将方法和这个事件onclick相关联,其实就是将方法的地址的引用传给这个事件中包含的委托链。
我弄不明白的是为什么前一行代码方法f1后面要加上括号呢?这样岂不是调用方法f1,然后将f1的返回值赋值给onclick事件?onclick事件应该接收的是地址(即指针)呀,怎么变成接收一个方法的返回值了呢?
或者说这两者有什么区别和联系,希望帮我分析下?谢谢!
作者:
许庭洲
时间:
2012-9-2 12:37
1. 前台中控件的onclick事件,是触发事件;
2. JS中的alert("我是f1");不会返回给onclick事件,因为alert("我是f1");是弹出一个Windows消息框;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2