jQuery绑定事件

Posted momo8238

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery绑定事件相关的知识,希望对你有一定的参考价值。

1.事件绑定的方式

事件
	DOM:三种绑定方式
	jQuery:
		#前面几种调用的全是on
		$(‘.c1‘).click()
		$(‘.c1‘).bind(‘click‘,function(){})
		$(‘.c1‘).unbind(‘click‘,function(){})
		$(‘.c1‘).delegate(‘a‘,‘click‘,function(){}) #不同于其它,有委托的作用
		$(‘.c1‘).undelegate(‘a‘,‘click‘,function(){})
		$(‘.c1‘).on(‘click‘,function(){})
		$(‘.c1‘).off(‘click‘,function(){})

 

 

2. 由于程序是从上往下执行,所以对新输入的没有绑定alert事件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input id="t1" type="text"/>
    <input id="a1" type="button" value="添加"/>
    <ul id="ul">
        <li>123</li>
        <li>456</li>
    </ul>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $(‘#a1‘).click(function(){
            var v=$(‘#t1‘).val();
            var temp="<li>"+v+"</li>";
            $(‘#ul‘).append(temp);
        });

        $(‘ul li‘).click(function(){
            v=$(this).text();
            alert(v);
        })
    </script>
</body>
</html>

  所以需要重新绑定

3. delegate具有委托的作用,不同于其它几个。

click不行,bind不行,on不行,delegate可以。委托。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input id="t1" type="text"/>
    <input id="a1" type="button" value="添加"/>
    <ul id="ul">
        <li>123</li>
        <li>456</li>
    </ul>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $(‘#a1‘).click(function(){
            var v=$(‘#t1‘).val();
            var temp="<li>"+v+"</li>";
            $(‘#ul‘).append(temp);
        });

        $(‘ul‘).delegate(‘li‘,‘click‘,function(){
            v=$(this).text();
            alert(v);
        })
    </script>
</body>
</html>

 

以上是关于jQuery绑定事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 判断元素上是不是绑定了事件

jquery的事件绑定

jQuery:绑定和取消绑定实时点击事件

jQuery事件绑定和委托实例

JQuery入门——用one()方法绑定事件处理函数(仅触发一次)

JQuery 绑定事件