jqery 动态添加元素 绑定事件】的更多相关文章

jQuery动态添加元素: var url = "...";//服务地址 $.ajax({ type: 'post', url: url, data:{fireId:fireId}, success: function(data){ for(var i = 0; i < data.data.length; i++){ var obj = data.data[i]; var temp = '<div class="div_stage"><spa…
1.jQuery为动态添加的元素绑定事件:在1.7之后,添加了live()方法,1.9后又被移除,1.9中可用on()方法: $(function() { $('.btn').on('click', function() { alert('按钮被点击'); }); $('body').append('<button class="btn">动态添加的按钮</button>'); }); 2.获取checkbox是否被选中,以及操作其选中状态: a.通过prop方…
由于实际的需要,有时需要往网页中动态的插入HTML内容,并在插入的节点中绑定事件处理函数.我们知道,用Javascript向HTML文档中 插入内容,有两种方法, 一种是在写HTML代码写入JS,然后插入到文档中: 另外一种是通过ajax的方式,从服务器获取数据,然后用js把获取的数据经 过处理后插入文档中: 两种方法各有特点,本文将分析新插入到文档中的元素的事件绑定问题,并假定新插入的对象不做内联的事件绑定(即不用类似 <a onclick=””>的形式).所有的示例将会用到jQuery和原…
//开始是直接普通写的绑定click事件 其中li a i 中的i是动态添加的 结果是触发不了..$("li a i").click(function () { $(this).mybootstraptab("close"); //var contentid = $(this).parent().attr("href").substr(1); //var prevDom = $(this).parent().parent().prev().chi…
SVG文件是由各个元素组成.元素由标签定义,而标签格式即html的元素定义格式.但是载入一个SVG文件,却无法通过常规的js获取对象方式来获取到SVG中定义的元素,更无法通过这种方式来动态添加SVG元素与事件. SVG元素的操作都要借助于SVG的document对象.SVG的document对象获取方式为: SVG 快速入门 svgDoc = document.getElementById("mySVG").getSVGDocument();其中mySVG为SVG主体的id.注意需要在…
on()方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素) $("#mainbody").on("click",".link",function(){ }); on前面的这个#mainbody一定要是html中存在的,静态的,否则点击事件触发不了 ".link"是动态加载出来的内容,它的class=".link" on方法在什么条件下都是成立的 用jquery:为动态加载的元素添加点击事…
说明:涉及到事件委托原理,这里不深究了. 直接使用live或者delegate去实现.网上说on也可以,没测试过. 注意:live在新版的JQuery已经取消.on在比较新的版本才支持. 参考: https://www.cnblogs.com/evemen/p/6241351.html https://segmentfault.com/q/1010000005617856 http://www.w3school.com.cn/jquery/event_live.asp http://blog.c…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>选项</title> <script type="text/javascript" src="http://js.tgimg.cn/jquery/base/jquery.min.js"></script> <script>…
$(document).on("mouseenter", ".v6-div-kind-ok", function () { alert();});…
$(document).on("click", ".autocompleteDiv .autocomplete_ul li", function () { login.loginarea(); });…
在项目中遇到需要jQuery动态添加元素的事件,做了一个demo,方便以后遇到相同的问题可以用上: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript" src="js/jquery-1.7.1.min.js" >&…
今天在做一个页面,用的是easyui页面有很多的tabs,里面都放了iframe 需要在load事件动态调整iframe高度 发现始终无法使用delegate来绑定load事件. 纠结了一下午发现了问题所在: delegate是通过事件冒泡来动态的绑定事件到现在或者未来的元素 在js里有如下无法进行冒泡的事件:load,unload,change,blur,focus 其中focus.blur可以支持事件捕获,非IE浏览器里. 所以delegate无法绑定这些无法冒泡的事件,当然load事件也在…
jquery动态添加元素无法触发绑定的事件的解决方案. ╭(●`∀´●)╯二狗最近在工作中遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件(╯#-_-)╯╧═╧ ( ╯#-_-)╯┴-┴.后来在网上查阅了一些资料,发现原来要这样处理๑乛◡乛๑: 先上我出错的代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8">…
写网页的时候常常需要根据实际情况添加新的元素,然后这些新元素还需要绑定已有的事件,如:有一ul,点击其中某 li,根据其 id 或 value 等获取新的数据列表,并新建 ul 显示,新 ul 中的 li 标签绑定相同的点击事件,具有相同功能. 问题1  新建标签未绑定方法,$("li").bind("click",clickLi) 只是在 document ready 的时候执行一次,新增的 li 并没有绑定 clickLi 方法: $(function() {…
如果使用Jquery给元素绑定事件,一般会用bind,或者类似click函数来直接绑定. 但是对于动态生成的元素,会发现常规绑定无法生效,比如: <div class'div'></div> 动态给div添加元素: $('.div').append($('<a>点我</a>')) 此时如果想给div下的a绑定事件,使用: $('.div>a').click(function(event){ alert('点击成功'); }); 将发现无法触发alert…
今天遇到一个问题,动态创建的元素,绑定事件无效,如下: js 代码如下: var OaddX = $('.detright div.duibi div.duibox ul li span'); // 所有的X; var Ojiaru = $('.detright div.duibi div.duibox div.tiao li button'); // 添加新车对比按钮 OaddX.on('click',function(){ var OspanX = $('.detright div.duib…
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况: <div id="testdiv"> <ul></ul> </div> <div id="testdiv"> <ul> <li name="apple">apple</li> <li name="pear">pear</li> </ul&…
我们在开发过程会遇到无法给动态元素添加绑定事件,解决方案如下: 例如 <div id="testdiv">   <ul></ul> </div> 需要给<ul>里面动态添加的<li>标签添加click事件 1.jquery 1.7版以前使用live动态绑定事件  $("#testdiv ul li").live("click",function(){ }); 2.jquery…
假设我们点击li标签,弹出他的文本,如果是动态添加的li,点击是没有效果的,压根弹不出来文本. 下面博主分享一下为动态添加的元素绑定事件的三种方法,网上一般都是两种,我在这里多增加了一种. 事件案例: <ul id="ul1"> <li><a href="">世界上第三种电梯诞生了,居然是中国人发明的!</a></li> <li><a href="">电视名人辱骂…
动态生成的元素,使用.on绑定事件,比如$(document).on("click",".divclick",function(){})…
从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代码的时候就注册了相应绑定的事件,我们平常用jQuery给HTML标签绑定(单击)事件是一般这样写 $("#btnId").click(function () { //触发事件后 逻辑 });  但是对用js动态添加的元素 是无效的,即没有绑定单击事件,所以对于动态添加的标签需要用on()来…
之前做项目都是直接用jquery的bind绑定事件,不过当时都不是动态生成dom元素,而是已经页面中原本存在的dom元素进行事件绑定,最近在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试了一下: 1.事件失效的原因:(1)bind事件绑定只对dom中存在的元素有效,对于我们后来动态增加的元素是监测不到,所以绑定不了 (2)同样,当你使用var aa = document.getElementsByTagName("动态生成的元素");来获取动态生成的元素的时候也是获取不到…
今天在做项目的时候,遇到了一个前端的问题,坑了我好长时间没有解决,今天就记录于此,也分享给大家. 问题是这样的,首先看看我的界面,有一个初始印象: 下面是操作列所对应的JS代码: { "data": function (datas) { return "<a data-url='/Device/Edit?id=" + datas.Id + "' data-toggle='modal' class='btn btn-sm btn-default btn…
首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完dom以后立即执行一次函数A即可. 需要注意的是,在你可能同事需要添加许多的dom,不要添加一个就执行一次函数A,这样会增加浏览器的负载,你需要在所有dom添加完以后在执行函数A,例如你用一个for循环遍历dom组合并拼接成一个字符串,然后添加到某个父级dom里面,这个时候你需要在循环外添加一次就可以…
先说使用场景,动态生成DOM元素并绑定事件,非常常见的一种场景,用jq实现效果: http://jsbin.com/gajizuyuju/edit?html,js,output var count=0; $("#test").on("click",function(event){ if(event.target.tagName.toLowerCase()=="input") return; count++; var html="<…
1.使用原生JS动态为动态创建的对象绑定事件 1-1.创建一个function,用来兼容IE8以下浏览器添加事件 function addEvent(el, type, fn) {  if(el.addEventListener){ el.addEventListener(type,fn,false) }else if(el.attachEvent()){ el.attachEvent('on' + type,fn,false) }else{ return false }} 1-2.使用JS创建…
jQuery最常用的一个功能就是对DOM的操作,与之相关的比如对事件的绑定和Ajax动态内容加载.当我们绑定事件到Ajax load回来的内容上或其他动态创建的元素上时会发现事件没响应,和你预想的结果不同,就像没这会事儿一样.这是前端开发 非常蛋疼的问题.jQuery在1.3的版本里面引入了.live()方法,后来jQuery团队有在这基础上加入了.delegate()和.on()方法来解决这种尴尬的局面.大家可以根据你自己项目使用的jQuery版本不同选择下面的不同方法解决这个问题. 我的jq…
如果使用jQuery,你可以这样写: // .class为你绑定事件的动态生成的结点 $(document).on('click', '.class', function() { // 你要绑定的事件在这里 });…
在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件.像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是无效的,具体写法如下图. $(selector).bind(event,data,function) $(selector).click(function) $("#searchMoveVideoResult ul li").bind("click",function(…
  jquery 为动态添加的元素绑定事件 如果直接写click函数的话,只能把事件绑定在已经存在的元素上,不能绑定在动态添加的元素上 可以用delegate来实现 .delegate( selector, eventType, handler ) 例如示例: $('someUlSelector').delegate('someLiSelector','click',function(){ //codes... //$(this) for the current jquery instance…