我们跳出问题设定的思维陷阱,把元素绑在未来元素的父级上,那么这个问题就迎刃而解了。
我们要想在一个元素上绑定一个事件,那么这个元素必须先存在,也就是绑定事件动作前就已有这个元素。
这是一个给元素绑定任何事件的前提。
如果按照这种思路走,那么“给未来元素绑定事件”将会是一个死胡同。
我们跳出问题设定的思维陷阱,把元素绑在未来元素的父级上,那么这个问题就迎刃而解了。
demo如下:
html部分代码
<ul class="menu">
<li class="son">php</li>
<li class="son">javascript</li>
</ul>
<button class="add">添加菜单</button>
js部分代码
$('button.add').click(function(){
$('<li class="son">mysql</li>').appendTo('ul.menu');
})
//给li绑定click事件
//记住不要把事件直接绑定在son元素上$('.son').on('click',function(){})
//正确的姿态:
$('.menu').on('click', '.son', function(){
alert('正在进入...');
})
ok,拿这个demo尝试一下,是不是未来添加的几个菜单项都被绑定了点击事件了呢?没错,jquery on 绑定未来事件就是这么简单。
除特别注明外,本站所有文章均为作者原创。 或分享自己的编程经验,或探讨工作中的问题,或聊以人生趣事。 转载请注明出处来自 https://www.qiusuoweb.com/74.html
运营天数
总访问量
文章数量
-
-
-
交流群:157451741
新浪微博:草莽兴
发布评论