jquery中bind与delegate的用法以及求迷茫期小建议

请问各位大神 jquery中bind 和delegate分别是什么时候用?
为什么一会把监听函数绑定在事件源 有的时候又绑给父元素?这跟js里的事件冒泡有关系吗?
还有一个小问题?? js jquery什么都是自学的 过段时间要找相关方面工作了 现在的公司日常开发都是用jquery吗?还是别的框架?

阅读 2.8k
3 个回答

.bind() 是对已存在的元素绑定事件。要求满足该选择器的元素在执行时已存在于文档中。
.delegate() 是在父元素已知存在的情况下对不晓得是否存在的满足某个特定选择器的子元素绑定事件。
在 jQuery 1.7+ 中,这两个功能被统一为一个 .on() 函数,只是具体调用方法不同。
See http://api.jquery.com/on/ for more details.

现在尽管展示性页面或者要求浏览器兼容性比较高的页面仍然不可避免的要求 jQuery, 然而单页应用还需要 Angular/Vue/React 等 MV* 库相关的知识。

个人觉得这两个方法的功能相同,用法不同

$("p").bind("click", function(){
  alert( $(this).text() );
});
$("div").delegate("button","click",function(){  //参数里面包括选择器字符串
  $("p").slideToggle();
});
宣传栏