【发布时间】:2015-06-03 20:36:10
【问题描述】:
如何使此函数可调用?现在,它只在页面重新加载后重新运行。我希望它一直工作。显然,我没有使用unbind 对。
<script>
$(document).ready(function() {
$('.viewAll').bind("click.myEvent", function(){
$('.mobileNavBtn, #shopNavTabBtn, #sec0').click();
$(this).unbind("click.myEvent");
$('html, body').animate({
scrollTop: $("#sec0").offset().top
}, 2000);
return false;
});
})
</script>
这是我原来的功能:
<script>
$(document).ready(function() {
$('.viewAll').on('click', function(){
$('.mobileNavBtn, #shopNavTabBtn, #sec0').click();
$('html, body').animate({
scrollTop: $("#sec0").offset().top
}, 2000);
return false;
});
})
</script>
【问题讨论】:
-
首先,不要使用
bind,而是使用.on()。其次,为什么不删除unbind。这应该使它可以调用。 -
我原来的函数确实有.on()。我的函数是可调用的,但我需要它是可重复的。 {当有人再次点击时,我希望该功能重新运行}
-
您正在为点击事件绑定特定功能。只有当点击发生时才会执行。说了这么多,你想在页面加载和点击事件上执行这个?
-
我有点困惑,因为您的原始功能似乎确实允许用户单击 .viewAll 元素以根据需要多次滚动到 #sec0 元素(顺便说一句,您只需要 $ ('body') 似乎,而不是 $('html, body'))... 但它在这里工作:jsfiddle.net/s7f87a2n
-
@mark.hch 感谢您的意见。将尝试更正。当我尝试通过单击重新运行该功能时,动画开始工作,然后重新加载页面。
标签: jquery jquery-mobile