jquery 自动点击a标签点击标签不进click的方法中。

jQuery方法区别(四)click() bind() live() delegate()区别-jQuery学习
当前位置: &
& jQuery方法区别(四)click() bind() live() delegate()区别
jQuery方法区别(四)click() bind() live() delegate()区别
click(),bind(),live()都是执行事件时使用的方法,他们之前是有一些区别的,我们在使用这些方法时应该根据需要进行选择。 1.click()方法是我们经常使用的单击事件方法:$(&a&).click(function() {
alert(&hello&);
当点击&a&时,输出hello。 2.click()方法是bind()方法的一种简单方法。在bind()中,jQuery所有JavaScript事件对象,比如focus, mouseover, 和 resize,都是可以作为type参数传递进来的。我们直接看看jQuery文档中的一个例子:var message = &left&;
$(&a&).bind(&click&, function() {
alert(message);
var message = &right&;
$(&a&).bind(&contextmenu&, function() {
alert(message);
上边代码中,无论是左键单击还是右键单击&a&输出总是&right&。为了解决这个问题,我们可以将message作为data参数传递到到bind()方法中,如下:var message = &left&;
$(&a&).bind(&click&, { msg: message }, function(e) {
alert(e.data.msg);
var message = &right&;
$(&a&).bind(&contextmenu&, { msg: message }, function(e) {
alert(e.data.msg);
这样当我们左键单击&a&时,输出&left&;当右键单击&a&时,输出&right&。 可见,一般情况下我们使用click()方法就可以了,当需要处理上边这种情况时,我们要使用bind()方法。 3.live()给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。如下:$(&div.live&).bind(&click&, function() {
alert(&success&);
此时,当点击class为live的div时,输出&success&。此时如果有一个新的元素添加了进来,如下:$(&&div class=&live& href=&#&&live&/div&&).appendTo(&body&);
这时,当使用上边方法点击class为live的a标签时,不会执行。原因在于,这个元素是在调用bind()之后添加的,而使用live()方法使得在后边添加的元素也能够执行相应的事件,如下:$(&div.live&).live(&click&, function() {
alert(&success&);
这样,当我们单击class为live的a标签时,如果此a标签是后边添加的,也能照常输出&success&。至于原因,在这里不做具体的说明,本篇主要比较几种方法的区别。 最后,看看delegate()方法,这个方法到目前为止我自己还没有使用过,应该是在1.4.2中才有的。 live()方法的一个不足在于它不支持链式写法:$(&#test&).children(&a&).live(&mouseover&, function() {
alert(&hello&);
上边这种写法并不会输出,我们使用delegate()可以写为:$(&#test&).delegate(&a&, &mouseover&, function() {
alert(&hello&);
这样就可以正常的输出我们想要的结果了。本篇总结了click()、bind()、live()和delegate()方法,其中并没有做非常详细的解释,仅望能对大家在具体使用时有所帮助。
作者:jQuery学习
除非注明,文章均为原创,转载时必须以链接形式标明本文地址。
本文地址:
本月最热文章jquery .on()或.click()方法中的参数data怎么使用,具体用武之地在哪,能否解决闭包带来的有关问题 - JavaScript当前位置:& &&&jquery .on()或.click()方法中的参数data怎么使用,jquery .on()或.click()方法中的参数data怎么使用,具体用武之地在哪,能否解决闭包带来的有关问题&&网友分享于:&&浏览:84次jquery .on()或.click()方法中的参数data如何使用,具体用武之地在哪,能否解决闭包带来的问题?jquery&.on()或.click()方法中的参数data如何使用,具体用武之地在哪,能否解决闭包带来的问题?
------解决方案--------------------JQ&的data&&好像是绑定在JQDOM&上的吧。。
属于全局变量了
应该能解决闭包的问题&&。。&&
不过搜索的&效率是个问题------解决方案--------------------data:当一个事件被触发时要传递event.data给事件处理函数&
应用&事件的传参,可用来区分事件&
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有jquery中对动态生成的标签不会响应click事件
Jquery中对ajax动态生成的html标签不会响应 $(selector).click(function..
或者$(selector).bind('click',function.., 需要用.live
返回值:jQuerylive(type,&[data],
jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。
这个方法是基本是的 .bind()
方法的一个变体。使用 .bind() 时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有。为此需要再使用一次
.bind() 才行。比如说
Click here
可以给这个元素绑定一个简单的click事件:
$('.clickme').bind('click', function() {
alert("Bound handler called."); });
当点击了元素,就会弹出一个警告框。然后,想象一下这之后有另一个元素添加进来了。
$('body').append('
Another target
尽管这个新的元素也能够匹配选择器
".clickme" ,但是由于这个元素是在调用 .bind() 之后添加的,所以点击这个元素不会有任何效果。
就提供了对应这种情况的方法。如果我们是这样绑定click事件的:
$('.clickme').live('click', function() {
alert("Live handler called.");
然后再添加一个新元素:
$('body').append('
Another target
然后再点击新增的元素,他依然能够触发事件处理函数。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。jquery中对动态生成的标签响应click事件(一)
参考自: &script&jQuery(document).ready(function($) { $('#clickme').bind('click', function() {&&alert(&sdfw&);&&var
14:04&&&[]
&script& jQuery(document).ready(function($) { $('#clickme').bind('click', function() { $.ajax({ type: &post&, async:false, url: &quot
14:04&&&[]
Jquery中对ajax动态生成的html标签不会响应 $(selector).click(function.. 或者$(selector).bind('click',function.., 需要用.live。 我们这样绑定元素的click事件,以后jquery动态生成的元素,click事件也有
22:56&&&[]
你id为delete的不止一个。所以要$.each
你id为delete的不止一个。所以要$.each
不用each,jQuery默认会给所有都绑定上
在Ajax成功或失败的处理事件中添加绑定,建议把绑定事件的代码写到一个方法中,在页面加载时、Ajax处理返回时分别调用
17:52&&&[]
本帖最后由 u 于
10:50:33 编辑
jquery js& web
我设置了一个弹框,在弹框中分页显示图片,有翻页功能,但是每打开一次弹框,翻页功能触发次数就多一次,有大神能解决吗
回复讨论(解决方案)
求大神啊&来啊
13:59&&&[]
的时候没在断点停。。。真郁闷。。。
回复讨论(解决方案)
设置下autopostback=true
设置下autopostback=true
您说的是哪个控件的autopostback?
动态添加的按钮,响应LOAD和INIT事件都没问题,唯独不响应CLICK事件。。。求帮助啊
-15:15&&&[]
网上搜的,全是MFC用on_command之类的,都是MFC的东西,我想知道C++怎么做,肯定是调Windows&的API吧。
回复讨论(解决方案)
这个真不是一两句话能说的清楚的,看一下侯捷老师的《深入浅出MFC》吧,看完前面几章,你就懂了。
其实就是处理
-09:40&&&[]
用session也可以。
感谢你的回帖,但是我改用了session仍然是下次触发SeatList的count回到0
代码要贴就贴全,贴个一部分还要猜你其它未贴的?
贴出你Form_Load中的代码
断点逐条语句跟踪order,看它在哪里丢失的
你那Page_Load事件里的
09:36&&&[]
如上面的jquery代码,首先我动态添加一个id=&select1&的button,然后再对其添加了click事件,如下,但是我点button却没有反应,请问为什么呢?谢谢!
回复讨论(解决方案)
-20:26&&&[]
我在一个Panel,根据需求动态生成了若干个Panel,并且都添加了Click事件,
但是每当点击任意一个Panel,有的事件反应的快,有的半天都没有反应,这是什么原因呢?
回复讨论(解决方案)
看看你的界面有多少个控件。
但是不管多少,事件应该都不会反应慢。断点看看事件
-10:07&&&[]
RT&&使用jq&each函数对页面a标签注册click事件
&场景:点击A标签,事件触发;点击button触发函数中使用$(&#a标签id&).click();却无法触发相应a标签事件
&问题:为啥以委托
12:17&&&[]
RT&&使用jq&each函数对页面a标签注册click事件
&场景:点击A标签,事件触发;点击button触发函数中使用$(&#a标签id&).click();却无法触发相应a标签事件
&问题:为啥以委托
20:44&&&[]

我要回帖

更多关于 jquery 点击a标签 的文章

 

随机推荐