这是在项目过程中所遇到的一个问题,给 JS 动态生成的元素绑定事件失效,代码如下所示:$(".more-btn").on('click', function() { console.log("peace...and love")};其中,more-btn 按钮是通过 layer 模块动态生成的,而我们在按钮上绑定的点击事件却没能生效,这是因为 DOM 节点还没有渲染出来,我们就将点击事件就绑定上了而通过查阅...jQuery 的 API 文档,on() 方法是支持给动态元素绑定事件的,即事件委托模式,我们首先要获取需要绑定的 selector 的父级元素或祖先元素,比较简单粗暴的办法就是使用 body 或者...document,然后在你绑定的事件后面跟上你的 selector 即可,代码如下所示:$(document).on('click',".more-btn", function() { console.log
.die() 从元素中删除先前.live()绑定的所有事件。 .die() 这个方法不接受任何参数。 ....off() 这个方法不接受任何参数。 ...$("#old").click(function(){ $("input").trigger("focus"); }); //当点击了这个元素才会触发...handler 这个函数今后不在执行。 ...false 解除绑定相应的'return false'函数,这个函数使用.bind( eventType,false )绑定。
预绑定 首先解释一下什么叫预绑定。预绑定,顾名思义,就是在Web页面上的控件还没出现之前就绑定好事件。预绑定主要是指jQuery中的.on()方法。 2....#root').find('#test').on('click', function() { ... }); 预绑定的jQuery代码: $('#root').on('click', '#test2...,或者上面的HTML代码开始不在页面上,是通过jQuery添加的,例如test2是在页面加载之后某个时刻添加的控件,使用一般的绑定控件事件的代码就会有问题,你会发现控件没有绑定事件,而使用预绑定的方法,...控件的事件就能绑定上,即使控件是后来添加的。...上面的内容就是jQuery的事件预绑定,jQuery文档地址为:http://api.jquery.com/on/。
先看下代码: 这个是jsp的页面 这个是...js的代码 //绑定回车事件 /*为了获得兼容性更高的按键绑定支持,使用document.getElementById获取到按钮对象*/ function BindEnterUserName(obj...usernameLoginPress(); } } //用户按下 function usernameLoginPress(){ sousuo(); } sousuo():这个函数是当点击之后的操作函数...ps:这个必须要引入jquery的js的文件
绑定click事件 给元素绑定click事件,可以用如下方法: $('#btn1').click(function(){ // 内部的this指的是原生对象 // 使用jquery...DOCTYPE html> jquery/jquery...选项卡一的内容 选项卡二的内容 选项卡三的内容 这个
DOCTYPE html> jquery/1.10.2/jquery.min.js"> 以前没注意,最近在使用on绑定事件时发现,通过for循环绑定动态绑定时,多个元素最终绑定的都是最后一次事件,不知道用while是不是也是一样,谁有清楚这种现象也可以说一下原因...解决方案:将for里面的绑定逻辑单独写一个函数即可。
但是在国内早期 IE 浏览器仍然盛行的时期,为了考虑到大多数用户,我们不得不通过一些插件之类的来实现圆角,jQuery Corner 就是这样一个插件,使用这个插件配置一下圆角半径等参数,即可生成圆角同时兼容各种早期...IE 浏览器。...另外我们还可以看一下 jQuery Corner 插件的演示 ,它不仅仅支持生成各种圆角,同时还可以生成一些其他奇怪的“角”,虽然不是很实用,但万一有时候就用上了呢 如果你的项目中,需要圆角,同时还需要兼容早期...IE 浏览器,不妨来试用一下吧,下载:jQuery Corner。
我实现点击table表格中的删除按钮,找到当前按钮的祖先元素tr 然后删除该行,但是我首先点击删除的时候要先弹出提示框,是否要下载,这时在点击删除按钮删除,之前没有考虑到事件重复绑定问题,所以每次点击删除的时候就会多选择几行...,之后选择的越来越多,经过网友解答,成功解决,先把重复绑定的删除的click事件解绑再继续绑定,就没问题。
submit(); //处理事件 } }); 取消回车事件: if (window.event.keyCode==13) window.event.keyCode=0 //这样就取消回车键了
获取到当前正在执行的事件: $('#testDive').bind('click', function(event){alert('event: ' + event.type)}); 获取所有绑定事件:
一个同时问我,JQuery事件绑定为什么不生效,最好通过查找,发现了问题。 一般而言,JQuery事件绑定不生效,是一些新手经常遇到的问题,其实都是简单的问题,大概分两种情况。...在未加载完成之前,通过$("#button1").click方法来进行事件绑定,由于此时未加载完成,实际上$("#button1")是一个空数组,所以最终的结果是未对任何元素进行事件绑定。...那么如何解决这个问题呢,其实这个问题本不应该发生,一般新手比较容易出问题,解决的方式很简单,把事件绑定放在加载完成之后,JQuery的做法是: $(function(){ $("#button1").click...(function () { alert("button1 clicked"); }); }) 绑定事件后移除了元素重新加入 再看button2,button2首先通过JQuery...会自动把绑定的事件移除掉了,然后在加入的时候,事件绑定已经不存在了;这种情况应该如何解决呢?
总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind、live、delegate、on...addEventListener() 是标准的绑定事件监听函数的方法,是W3C所支持的,Chrome、FireFox、Opera、Safari、IE9.0及其以上版本都支持该函数; 但是,IE8.0及其以下版本不支持该方法...",myAlert); 3 4 function myAlert(){ 5 6 alert("我是对话框"); 7 8 } jQuery 事件绑定和 JavaScript 事件绑定的区别...jQuery 中的事件绑定具有叠加性,JavaScript 的事件绑定则是可覆盖的。...可以发现: 使用 jQuery 的事件绑定方法,对同一个元素的 click 事件先后绑定了三个处理函数,结果按顺序都输出了,说明了 jQuery 的事件处理函数是叠加的; 而使用 JavaScript
jQuery官方发布了下一阶段jQuery的路线图,该路线图显示jQuery 1.8将在一个月内发布,而其他后续版本的计划如下: jQuery 1.9 (early 2013): 该版本将移除所有在1.8...版本中废弃的接口,其他一些可能做为插件或者可选API使用,将继续支持IE 6/7/8 jQuery 1.9.x (ongoing in 2013 and beyond): 该版本将持续修复1.9中出现的...bug jQuery 2.0 (early 2013, not long after 1.9): 该版本在API上兼容1.9版本,但不再支持IE 6/7/8 详细的说明请看官方博客:blog.jquery.com...IE 6/7/8 will be supported as today. jQuery 1.9.x (ongoing in 2013 and beyond): This version will continue...: This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities
第4章 简单事件绑定 所有事件在jquery中都是jquery对象的方法 click(handler) 单击事件 mouseover(handler) 鼠标悬浮事件 mouseout(handler...function(){ $('#btn').click(function(){ alert("来了老弟~"); }); }); 绑定事件时...,jquery对象中有多个dom元素,则自动给所有元素均绑定事件。
使用jquery对节点绑定事件时,例如绑定click事件,常用的方式有: (1)$('x').click(function (){}); (2)$('x').delegate('childnode',...'click', function (){}); delegate委托方式是jquery后推出的,而且我们经常可以看到有文章推荐使用delegate,delegate方式相比直接绑定有什么优势呢?...测试 生成一万个 li 节点,对其进行 click 事件绑定,分别使用上面的两种方式,测出各自的执行事件 代码 这里使用php动态生成一万个li jquery.js"> $(function (){ var st...alert(st2); }); 结果 每种方式执行3次,取平均值 方式一:104毫秒 方式二:2毫秒 可以看到,delegate的性能高效了很多
jQuery 查找on事件绑定元素的被绑定元素方法 遇到的问题 今天写了一个JQ插件,结果里面有一点问题.让我很郁闷.问题演示代码如下 $box.on('click', 'img', function(...){ $(this) }); 如上代码,当我点击这个图片的时候 $(this) 是指 img ....问题是 box 也并不是唯一的.所以,我应该怎么知道这个 box 到底是 哪个 有点晕.没关系....解决方法如下: $box.on('click', 'img', function(){ $box.has($(this)) }); 如上,通过 .has 操作,就能找到唯一的父级被绑定元素了.
一个简单的记录,在调试jquery的事件绑定时会用到。查看某元素是否绑定上了事件。...在JQuery1.8之前: obj=$('div.event');obj.data('events'); 在JQuery1.8中: objs=$('div.event');$...._data(objs[0],'events'); 参考: http://stackoverflow.com/questions/12214654/jquery-1-8-find-event-handlers
出现这种情况是因为每点击一下document就会绑定一遍事件,click事件进行了累加绑定,每调用一次,便增加一次绑定,所以导致触发多次事件。...解决方法: 每次绑定前先取消上次的绑定,在这个事件绑定的前面紧挨着加上off或者unbind。
昨天,jQuery 的官方博客发布了一条重要信息:jQuery 2.0 Released。jQuery 推出了最新升级版 2.0,下面来结合官方的说明,介绍一下最新版的一些特性。...jQuery 2.0 新特性 不再支持 IE 6/7/8,如果在 IE9/10 版本中使用“兼容性视图”模式也将会受到影响。...但是这个 1.X 系列的版本就有点蛋疼了,目前是 1.91 下一个版本就是 1.10 。 jQuery 2.0 适合谁 既然 jQuery 2.0 不支持老旧浏览器,那么为什么还要开发这个版本?...这个版本主要是用于目前一些比较高级的 JS 环境。这些 JS 环境跟老旧 IE 没有什么关系,那么 1.X 的 jQuery 中对老旧浏览器做的兼容就是多余的了,反而会影响效率。...从这里也可以看出 jQuery 团队对 IE 的无语和无奈。
今天凑巧碰到一件怪事: 1.问题描述: 根据用户输入的内容按回车键作查询时,在IE下一直会触发一个Button按钮;IE下只有Button才会有这个问题,如果是a标签就不会有这样的问题?...3.举例说明: 1.阻止浏览器的默认行为 function stopDefault(e) { if(e && e.preventDefault) { //如果提供了事件对象,则这是一个非IE...浏览器 e.preventDefault(); //阻止默认浏览器动作(W3C) } else { //IE中阻止函数器默认动作的方式 ...浏览器 e.stopPropagation(); //因此它支持W3C的stopPropagation()方法 } else { //否则,我们需要使用IE的方式来取消事件冒泡 ...window.event.returnValue = false; } return false; } 这样就可以解决ie下面按回车键触发button click()事件了