关于jquery的obj.click()、和obj.on()以及行内的onclick事件
2017-07-29 14:27
561 查看
一般通过jQuery写触发事件是我们通常写的是obj.事件类型()。
以下以点击事件为例:
通常我们直接写obj.click();实现点击事件的效果,但是这种写法不支持动态元素或样式绑定事件。
支持动态元素绑定事件的是.live()和.on()。live在jquery1.7以后就不推荐使用了。
行内的onclick事件也可以实现对js的动态绑定事件。
以下是我自己整理的关于三种写法的使用,以便以后查看:
注意:此处有一个jquery的引入。
此处.on的事件绑定用法是:.on(events,[,selector][,data],handler),.on的selector参数是筛选出调用.on方法的dom元素的指定子元素,
原理是:事件冒泡,进行事件委托,子元素把事件委托给父元素进行事件处理。
好处是:万一子元素非常多,给每个子元素都添加一个事件会影响到性能;为动态添加的元素也能绑定指定事件。
以下以点击事件为例:
通常我们直接写obj.click();实现点击事件的效果,但是这种写法不支持动态元素或样式绑定事件。
支持动态元素绑定事件的是.live()和.on()。live在jquery1.7以后就不推荐使用了。
行内的onclick事件也可以实现对js的动态绑定事件。
以下是我自己整理的关于三种写法的使用,以便以后查看:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div class="content"> <button id="add" onclick="add()">添加</button> <button id="onadd" onclick="onAdd()">on添加</button> <ul id="ul"> <li>菜单一 <span onclick="delect(this);">删除</span></li> <li>菜单二<span onclick="delect(this);">删除</span></li> <li>菜单三<span>删除</span></li> <li>菜单四<span>删除</span></li> <li>菜单五<span>删除</span></li> <li>菜单六<span>删除</span></li> </ul> </div> <script src="js/jquery.min.js"></script> <script> function add(){ $('#ul').append('<li>菜单666<span>删除</span></li>') } function onAdd(){ $('#ul').append('<li>on菜单666<span onclick="delect(this);">删除</span></li>') } function delect(obj){ $(obj).parent().remove(); console.log('onclick'); } /*$('ul li span').click(function(){ $(this).parent().remove(); console.log('click'); });*/ $(document).on('click','#ul li span',function(){ $(this).parent().remove(); console.log('on'); }); </script> </body> </html>
注意:此处有一个jquery的引入。
此处.on的事件绑定用法是:.on(events,[,selector][,data],handler),.on的selector参数是筛选出调用.on方法的dom元素的指定子元素,
原理是:事件冒泡,进行事件委托,子元素把事件委托给父元素进行事件处理。
好处是:万一子元素非常多,给每个子元素都添加一个事件会影响到性能;为动态添加的元素也能绑定指定事件。
相关文章推荐
- 关于js中的onclick事件和JQuery中的click方法以及on方法事件的详解以及区别
- 关于js中的onclick事件和JQuery中的click方法
- Jquery click/bind/live/delegate/on事件,阻止默认事件,以及插件的写法
- 关于JS 事件冒泡和onclick,click,on()事件触发顺序
- html,html服务器控件,asp。net服务器控件 区别,以及 onclick ,onserverclick ,onclientclick 事件....
- 关于html控件button的onclick和onserverclick事件不能同时起作用问题
- jQuery中关于超链接click点击事件的注意点
- javascript 的onclick和click 在 ie 和mozilla中的使用 ;jquery 的dom事件绑定
- 实例区别onClick和onDBClick两事件方法
- 怎么让Html控件onclick事件和onserverclick事件同时有效
- 关于IOS不能使用JQUERY的ON事件
- onclick 判断后决定是否执行 onserverclick 事件 (return false)
- button用了onclick事件后 onserverclick不运行了
- iOS上的jQuery.on()冒泡事件绑定 以及 iOS绝对定位元素中的输入框
- javascript事件委托和jQuery事件绑定on、off 和one以及on绑定多个事件(重要)
- 关于标签onclick方法失效,或jquery绑定事件失效的问题
- Jsp页面关于BootStrap模态框和<a href onclick>事件不能同时使用,以及传参的问题
- 关于jquery中 的点击事件,每点一次执行的效果就叠加一次,click是添加点击事件的意思
- 你真的会用OnTouchListener、OnClickListener、OnLongClickListener监听事件么?
- 你真的会用OnTouchListener、OnClickListener、OnLongClickListener监听事件么?