我如何使用.one jquery函数?

时间:2010-11-23 17:46:26

标签: jquery

不确定我做错了什么,但一次点击后它就没有停止。

<script type="text/javascript">
 $(document).ready(function(){
   $(".header").one('click', function(){
    $("#fourlocs").effect("scale", { percent: 152, direction: 'horizontal' }, 700);
   });
 });
</script>

4 个答案:

答案 0 :(得分:4)

.one()确保只在您绑定的每个元素上执行一次,如果您想要所有 {{1}的一个click事件元素,你需要解开它们,例如:

.header

如果它是$(document).ready(function(){ function headerShow() { $("#fourlocs").effect("scale", { percent: 152, direction: 'horizontal' }, 700); $(".header").unbind("click", headerShow); } $(".header").click(headerShow); }); 元素上唯一的click事件(您确定这一点),您可以简化它:

.header

答案 1 :(得分:0)

我会尝试用.one()应该做的事情重写代码。

$('#foo').bind('click', function(event) {
  alert('This will be displayed only once.');
  $(this).unbind(event);
});

或者,检查以确保您使用的是jQuery 1.1或更高版本。

答案 2 :(得分:0)

one函数将导致每个返回的元素最多触发一次事件。如果您有多个具有类header的元素,则会针对您单击的每个元素触发该事件。

答案 3 :(得分:0)

我使用jquery 1.4.4和jquery UI 1.8.0在jsbin.com上测试了你的代码 - 它可以正常工作。它只开了一次。

您使用的是哪个版本?