JQuery的事件【六】

一.JS与jQuery中的事件:
1. 事件写法的区别:
1) JS:
document.getElementById("btn").onclick  = function() {
};
onclick是一个属性
2) jQuery:
$("#btn").click(function(){
});
click是一个方法

2. 例如:要为一个<input id="btn" type="button" value="提交"/>按钮绑定 点击事件。
二.jQuery中事件的绑定与解绑
1. 单个事件绑定
1) 语法:
jq对象.bind("事件名", 处理函数);

2) id为b1的按钮,绑定一个点击事件:
$("#b1").bind("click", function(){
//代码
});

注:一个元素可以多次绑定同一个事件

2. 单个事件的解绑:
1) 语法:
jq对象.unbind("事件名");

2) id为b2的按钮,解绑点击指定事件:
$("#b2").unbind("事件名");

3. 示例:绑定一个事件
1) 需求:有四个按钮,b1按钮使用以前的事件方式,点击弹出信息。b2按钮没有事件。btnBind按钮点击给b2按钮绑定点击事件。
然后点击b2,查看输出的信息。btnUnbind按钮点击解除b2按钮的点击事件。
2) 代码:
  <body>
        <input id="b1" type="button" value="按钮1"/>
        <input id="b2" type="button" value="按钮2"/>
        <hr/>
        <input id="b3" type="button" value="给按钮2绑定事件"/>

        <input id="b4" type="button" value="给按钮2解除绑定事件"/>

        <script type="text/javascript">
            $("#b1").click(function(){
                alert("1号按钮被点击");
            });
            
            $("#b3").click(function(){
                //参数1:事件名
                //参数2:事件处理函数
                $("#b2").bind("click", function(){
                    alert("2号按钮被点击");
                });
            });
            
            //解除绑定事件
            $("#b4").click(function(){
                //解除一个click事件
                $("#b2").unbind("click");
            });
        </script>

3. 多个事件的绑定:
1) 一个对象绑定多个:
格式:
{
键:值,
键 : 值

JSON对象

jq对象.bind({
事件名: 处理函数,
事件名: 处理函数,
事件名: 处理函数
});

2) 解绑多个事件:
格式:
jq对象.unbind("事件名1 事件名2");

3) 解绑所有事件:
格式:
jq对象.unbind();

4. 示例:有一个文本框为t1,有2个按钮,一个用于绑定文本框事件,一个用于解绑文本框事件。点击按钮btnBind,
同时绑定单击,鼠标移动,鼠标移出事件。事件发生时改变文本框中的内容。点击按钮btnUnbind,先解绑一个click事件,
再解绑所有的事件。
    <input type="text" id="t1" />
    <hr />
    <input type="button" id="btnBind" value="使用绑定事件方式的按钮" />
    <input type="button" id="btnUnbind" value="解绑按钮的点击事件" />
       
        <script type="text/javascript">
        //给文本框同时添加单击,鼠标移入,鼠标移出
            $("#btnBind").click(function(){
                $("#t1").bind({
                    click: function(){
                        $(this).val("我被点击啦");
                    },
                    mouseover: function() {
                         $(this).val("鼠标移入事件");
                    },
                    mouseout: function() {
                         $(this).val("鼠标移出事件");
                    }
                });
            });
            
            $("#btnUnbind").click(function(){
                //解绑一个事件
                //$("#t1").unbind("click");
                //解绑两个
                //$("#t1").unbind("mouseover mouseout");
                //全部解绑
                $("#t1").unbind();

            });

                /*
 * 注意:绑定次数和解绑次数要一致,比如给一个按钮绑定2次,则点击该按钮时会执行两次;所以解绑也要2两次
 */

        </script>

三、事件切换
1. 示例:创建一个DIV,指定宽和高为300px,边框2px,灰色,实线。当鼠标移入背景色发生变化,移出DIV背景色变成另一种颜色。
2. 方式一:使用mouseover和mouseout实现,支持链式写法。
3. 方式二:使用hover,同时支持两个事件
4. 代码:
        <script type="text/javascript">
            //鼠标移入
            /*
            $("#box").mouseover(function(){
                $(this).css("backgroundColor", "red");
            });
           
            //鼠标移出
            $("#box").mouseout(function(){
                $(this).css("backgroundColor", "green");
            });
            */
           
           /*
           //支持链式写法
           $("#box").mouseover(function(){
                $(this).css("backgroundColor", "blue");
            }).mouseout(function(){
                $(this).css("backgroundColor", "pink");
            });
            */
           
           //事件切换方法
           $("#box").hover(function(){
                $(this).css("backgroundColor", "yellow");
           },function(){
                $(this).css("backgroundColor", "black");
           });
        </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值