不确定我做错了什么,但一次点击后它就没有停止。
<script type="text/javascript">
$(document).ready(function(){
$(".header").one('click', function(){
$("#fourlocs").effect("scale", { percent: 152, direction: 'horizontal' }, 700);
});
});
</script>
答案 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上测试了你的代码 - 它可以正常工作。它只开了一次。
您使用的是哪个版本?