文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. 预绑定
首先解释一下什么叫预绑定。预绑定,顾名思义,就是在Web页面上的控件还没出现之前就绑定好事件。预绑定主要是指jQuery中的.on()
方法。
2. Demo
- HTML代码
1 | <div id="root"> |
- 一般的jQuery代码:
1 | $('#root').find('#test').on('click', function() { |
- 预绑定的jQuery代码:
1 | $('#root').on('click', '#test2', function() { |
- jQuery添加控件的代码
1 | $('#root').append('<input type="button" id="test" value="test2"/>') |
解释:在页面控件直接显示的情况下,例如’test’,上面的两种绑定控件事件的方法都没问题,都可以正常工作,但如果上面的HMTL代码是在模板中,例如jsview中,模板数据不是页面加载时就添加的,或者上面的HTML代码开始不在页面上,是通过jQuery添加的,例如test2
是在页面加载之后某个时刻添加的控件,使用一般的绑定控件事件的代码就会有问题,你会发现控件没有绑定事件,而使用预绑定的方法,控件的事件就能绑定上,即使控件是后来添加的。
上面的内容就是jQuery的事件预绑定,jQuery文档地址为:http://api.jquery.com/on/。