随着DOM结构的复杂化和Ajax等动态脚本技术的运用,有了较多的动态添加进来的元素,直接用JQ添加click事件会发现新添加进来的元素并不能直接选取到,在这里就需要用到事件委托方法,JQ为事件委托提供了live().dalegate()和on()方法. 事件委托 我们知道,DOM在为页面中的每个元素分派事件时,相应的元素一般都在事件冒泡阶段处理事件.在类似 body > div > a 这样的结构中,如果单击a元素,click事件会从a一直冒泡到div和body(即document对象).因此…
<li class='clear dir-li'> <div class='left title'> 添加到目录:</div> <div class='left item' id='dir-ctrl-dv'> <if condition="$dirs neq ''"> <select act-v='1' act="{:U('Content/getDirs')}" class='input dir-ct…
jquery:为动态加载的元素添加点击事件 最近在做项目的时候遇到了这样一个问题,给用ajax动态加载出来的内容添加点击事件,但是怎么都触发不了,经过查询试验总结出正确的写法 在jquery1.7之前的版本中用的是live()方法,但是live()方法在1.7中已经不建议使用,1.9中删除了这个方法 live()方法适用于匹配选择器的当前及未来的元素(例如有脚本创建的新元素) 重点是自jquery1.7版本起,on()方法是bind().live().delegate()方法的新的替代品 on(…
遇到 jquery无法为动态生成的元素添加点击事件,谷歌一下,整理一下解决方法如下: (<li>中间的元素是动态生成的), 现在想为<i>添加点击事件, 例子如下: <div> <ul> <li> <span> <i class='icon'>这是元素内容</i> //i是动态生成 </span> </li> </ul> </div> 解决方法如下: $(docu…
未来元素:不是一个页面上的元素,是通过js或者通过后台直接渲染在页面上的元素,也就是说这些元素不是直接写在document中的. 1.对于未来元素,我们想直接用js或者jq操作它们是不起作用的. $("element").on("click",function(){}) 2.可以使用来操作未来生成的元素,可是这里有一个局限性,这个事件,是需要在生成元素下面才能使用. $("element").bind("click",func…
事件件是javascript脚本语言的重要组成部分,因为有事件才使用户页面的体验更加的美好.元素添加事件是js语言中最基础的.我们可以为元素本身添加事件,也可以通过事件绑定和事件监听为元素的父元素和子元素添加事件.今天我要给大家分享的是如何让通过元素本身为同级元素添加事件. html代码: <div id="box1">我是box1</div> <div id="box2">我是box2</div> js代码: let…
问题 使用.map(function(Item)生成元素添加onClick事件:onClick={this.provinceChange.bind(this, "99")}时,前台访问报错:Uncaught TypeError: Cannot read property 'provinceChange' of undefined.provinceChange是在class中定义的方法: provinceChange: function(selectedProvince){ this.s…
背景:一个列表页,有一系列同类名的元素,需要为每一个动态添加的列表项添加事件: 点击选择下图中不同的文档类型,再通过 ajax 动态加载不同的文档. 使用过的方法: 1.通知 jquery 的 $(selector).on('click',function(){}) 在动态添加元素的后一步执行,此段代码是在 ajax 内部,如下: $(".task-doc-list").append(tempStr); $("body").on("click",…
$(".aa").on("click",function(){ alert(1) }).on("mousemove",function(){ console.log(1); }); $(".aa").on({click:function(){ alert(1) },mousemove:function(){ console.log(2); }}) 如果需要传参数,除定义全局变量,在方法中直接使用全局变量外,还可使用以下方法 $…
.div_box元素是本来没有的,在滚动条初始化的时候方法是加在$('.content .div_box').mCustomScrollbar()上面,参数live:on; 点击按钮的时候,进行content里面添加div_box的,这时候滚动条初始化才开始在div_box元素上进行: 小结: $('.content .div_box').mCustomScrollbar()配合参数live:on向未来元素.div_box上加个滚动条方法,猜想是这时候是绑定了一个事件:在div_box被创建出来…