我们要想在一个元素上绑定一个事件,那么这个元素必须先存在,也就是绑定事件动作前就已有这个元素。
这是一个给元素绑定任何事件的前提。
如果按照这种思路走,那么“给未来元素绑定事件”将会是一个死胡同。
我们跳出问题设定的思维陷阱,把元素绑在未来元素的父级上,那么这个问题就迎刃而解了。
demo如下:
html部分代码
添加菜单
js部分代码
$('button.add').click(function(){
$('
mysql').appendTo('ul.menu');})
//给li绑定click事件
//记住不要把事件直接绑定在son元素上$('.son').on('click',function(){})
//正确的姿态:
$('.menu').on('click', '.son', function(){
alert('正在进入...');
})
ok,拿这个demo尝试一下,是不是未来添加的几个菜单项都被绑定了点击事件了呢?没错,jquery on 绑定未来事件就是这么简单。