.one()不像jquery.com建议首次使用

时间:2012-12-08 12:02:08

标签: jquery

我已经用尽了我的研究使用.one()来满足我的需求,并让它在每个类选择器实例中正常工作,它只显示一次。但是在jQuery.com上它声明以下内容将起作用,如果单击一次,如果使用相同的类选择器单击另一个元素,它将不会再次运行。但是,这对我不起作用。我在一个页面上拥有并且需要相同的特定类选择器。

这里是jQuery.com给出的代码示例:

$("#foo").one("click", function() {
alert("This will be displayed only once.");
});
$("body").one("click", ".foo", function() {
alert("This displays once for the first .foo clicked in the body.");
});

上面的第二个似乎没有像它说的那样起作用。有谁知道如何让这个工作。我可以在几个地方使用.foo,但只有一个.foo被点击后,该函数只显示一次。当点击另一个.foo时,它将不再运行该函数?非常感谢您的任何帮助/建议。

2 个答案:

答案 0 :(得分:0)

正如本评论中所述,这是。如果正确读取(如dystroy says,它编写得不好),处理程序只会激活一次,对于与选择器匹配的第一个元素。

为了让这次火灾不超过 .foo元素,你必须自己做(注意我们已经从使用{切换} {1}}到one(),并自行处理速率限制。

on()

http://jsfiddle.net/Zdqpp/1/

答案 1 :(得分:0)

你可以试试这个:

$(function(){
   $(".foo").one("click",function(event) {
      alert("This displays once for the first .foo clicked in the body.");
   });
});

这只会点击.fooalert for one time。如果再次点击而没有重新加载警报则不会显示。

小提琴:http://jsbin.com/eluquq/1/edit