如何只能执行一次该函数? 我试图.one
,但它不工作jQuery只能运行一次onclick函数
$('a.inspire-tag').on('click',function() {
$('html, body').animate({
scrollTop: $(".button-inspire").offset().top
}, 400);
});
如何只能执行一次该函数? 我试图.one
,但它不工作jQuery只能运行一次onclick函数
$('a.inspire-tag').on('click',function() {
$('html, body').animate({
scrollTop: $(".button-inspire").offset().top
}, 400);
});
$('a.inspire-tag').on('click',doThis);
function doThis() {
$('html, body').animate({
scrollTop: $(".button-inspire").offset().top
}, 400);
//you can off all on callback function
$('a.inspire-tag').off('click',doThis);
}
当您将它作为点击处理程序提交时,您当然希望'doThis'没有parens'()',否则该函数将被当场调用。 –
对,谢谢,编辑 – Nephelococcygia
var inspiretag = $('a.inspire-tag');
inspiretag.on('click',function() {
$('html, body').animate({
scrollTop: $(".button-inspire").offset().top
}, 400);
inspiretag.off('click');
});
使用.off(),与间隔名event names
$('a.inspire-tag').on('click.myevent', function() {
if (...)
// remove current event handler
$(this).off('click.myevent')
});
如果你想要做的只是点击一次即可启用
试试这个:
$('a.inspire-tag').on('click',function() {
$('html, body').animate({
scrollTop: $(".button-inspire").offset().top
}, 400);
$('a.inspire-tag').off('click');
});
'。一()'处理程序执行每人事件类型元素最多一次。你有多个元素''a.inspire-tag'' – Satpal
什么是“不起作用”是什么意思? – adeneo
你有没有在你的点击函数里试过$(this).off()? –