Javascript(jQuery)中绑定页面上所有按钮点击事件的几种方式

方法一:使用document对象查找所有的按钮

//按照dom的方式添加事件处理
        function BindByDom() {
            try{
                var htmlBtns = document.getElementsByTagName('button');//获取HTMLCollection对象集合
                //遍历集合,一个一个地设置点击事件
                for (var i = 0; i < htmlBtns.length; ++i) {
                    htmlBtns[i].onclick = function () {
                        var uid = this.getAttribute('uid');
                        alert("点击了按钮,uid = " + uid);
                    };
                }
            }
            catch (error) {
                alert(error);
            }
        }

方法二:使用jQuery查找所有的按钮

 //按照jquery方式添加事件处理1
        function BindByJquery1() {
            try{
                var btns = $('button');
                //循环遍历所有的按钮,一个一个添加事件绑定
                for (var i = 0; i < btns.length; ++i) {
                    btns[i].onclick = function () {
                        var uid = this.getAttribute('uid');
                        alert("点击了按钮,uid = " + uid);
                    }
                }
            }
            catch (error) {
                alert(error);
            }
        }
jQuery查找到的是jQuery对象,需要使用[ ]将其转换成HTMLElement对象,然后和方法一一样进行绑定。

方法三:使用jQuery查找所有的按钮,使用on() 方法在被选元素及子元素上添加一个或多个事件处理程序

//按照jquery方式添加事件处理2
        function BindByJquery2() {
            $('button').on("click", function () {
                try{
                    var uid = $(this)[0].getAttribute('uid');
                    alert("lenght = " + $(this).length + "点击了按钮,uid = " + uid);
                }
                catch (error) {
                    alert(error);
                }
            });

        }
        //按照jquery方式添加事件处理3
        function BindByJquery3() {
            try{
                $(document).on("click", "button", function () {
                    var uid = this.getAttribute('uid');
                    alert("lenght = " + $(this).length + "点击了按钮,uid = " + uid);
                });
                $(document).on("click", "img", function () {
                    //alert("img");
                    win = window.open("http://blog.csdn.net/mfcing", "", "width=200,height=200");
                   
                    //OpenWindow();
                });
            }
            catch (error) {
                alert(error);
            }
        }

测试代码在网页加载完毕后执行

</pre><pre name="code" class="javascript"><script>
    $(document).ready(function () {
        //BindByDom();
        //BindByJquery2();
        BindByJquery3();
    });
</script>

demo页面

<html>
<body>
    <form action="" method="post">
        <p>
            您的意见对我很重要:
            <textarea name="yj" clos="20" rows="20" οnpause="OnPause()"></textarea>
        <p />
        <label style="font:200;color:#0094ff;font-family:'Microsoft YaHei';">测试程序</label>
        <p />
        <button id="100" title="测试" style="">点击测试</button>
        <div class="div_parent">
            <div>
                <button style="color:#333333" uid="1">按钮1</button>
            </div>
            <p />
            <div>
                <button style="color:#444444" uid="2">按钮2</button>
            </div>
            <p />
            <div>
                <button style="color:#555555" uid="3">按钮3</button>
            </div>
            <p />
        </div>

        <p>
            <button οnclick="CopyToClipboard()">查看剪贴板文字</button>
        <p>
            <input id="test" text="输入框" />
        </p>
        <div style="display:none;padding-left:100px;padding-top:0px">

        </div>
    </form>
</body>
</html>





 


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值