首页 > 解决方案 > 仅使用一次按键触发功能?

问题描述

我的页面上有一系列消息,一旦人们开始在文本区域中输入,这些消息就会由 keydown 事件触发。但是,我不知道如何只触发一次。由于人们正在输入更长的响应,因此每次按下键时都会运行该函数:/

$(function() {
    $(document).on('keydown', function() {
        $('.three').delay(1000).fadeOut(1500);
        $('.four').delay(2500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.five').delay(7500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.6').delay(12500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.7').delay(17500).fadeIn(1500);
    });
});

标签: javascripthtml

解决方案


而不是“on”使用“one”。这只处理一次事件。

$(function() {
        $(document).one('keydown', function() {
        $('.three').delay(1000).fadeOut(1500);
        $('.four').delay(2500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.five').delay(7500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.6').delay(12500).fadeIn(1500).delay(2000).fadeOut(1500);
        $('.7').delay(17500).fadeIn(1500);
    });
});

这是参考:http ://api.jquery.com/one/


推荐阅读