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>Javascript得到当前引发事件的控件</title>
</head>
<body onload="InitEven()">
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
</body>
</html>
<script type="text/javascript" language="javascript">
//页面加载完成之后给所有的input添加点击事件
    function InitEven() {
        //得到所有的input
        var inputs = document.getElementsByTagName("input");
        for (var i = 0, j = inputs.length; i < j; i++) {
            //得到当前项,并添加单击事件,InputOnclick后面不可以有()。因为有()相当于执行函数inputs[i].onclick = InputOnclick;这样子会变为将InputOnclick的返回值赋值给inputs[i].onclick是不对的
            inputs[i].onclick = InputOnclick;
        }
    }
    function InputOnclick() {
        //得到所有的input
        var inputs = document.getElementsByTagName("input");
        for (var i = 0, j = inputs.length; i < j; i++) {
            //得到当前引发事件的控件
            var aa = window.event.srcElement;
            if (inputs[i] == aa) {
                inputs[i].value = "呜呜";
            } else {
                inputs[i].value = "哈哈";
            }
        }
     }
</script>

posted @ 2013-04-21 14:11  ipangjie  阅读(262)  评论(0)    收藏  举报