Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改jquery事件的顺序?_Javascript_Jquery - Fatal编程技术网

Javascript 如何更改jquery事件的顺序?

Javascript 如何更改jquery事件的顺序?,javascript,jquery,Javascript,Jquery,我这里有两个事件,一个是点击,另一个是聚焦,我需要在聚焦之前点击运行,所以我给它添加了一个超时,但我觉得这不是一个优雅的解决方案 $(document).click(function(e) { var target = e.target; var lastElement = '#' + lastList; console.log('here first'); if (!$(target).is(lastElement) &

我这里有两个事件,一个是
点击
,另一个是
聚焦
,我需要在聚焦之前点击运行,所以我给它添加了一个超时,但我觉得这不是一个优雅的解决方案

  $(document).click(function(e) {
        var target = e.target;
        var lastElement = '#' + lastList;
        console.log('here first');
        if (!$(target).is(lastElement) && !$(target).parent().parent().is(lastElement) && !$(target).parent().parent().parent(lastElement).is(lastElement)) {
            $('.add-card .fa-plus').show();
            $(lastElement).children().children().children('textarea').addClass('pl-8 bg-gray-200');
            $(lastElement).children().children().children('textarea').removeClass('h-20 px-4 w-60 resize bg-white');
            $('.js-add-card-button').addClass('hidden')
        }
    });
    
    $(document).on('focus', '.js-create-card', function(e) {
        setTimeout(() => {
            console.log('here');
            $(this).siblings('.add-card .fa-plus').hide();
            $(this).removeClass('pl-8 bg-gray-200');
            $(this).addClass('h-20 px-4 w-60 resize bg-white');
            $(this).siblings('.js-add-card-button').removeClass('hidden');
            lastList = $(this).parent().parent().parent().attr('id');
        }, 100);
    });
因此,对于我使用的解决方案,我有几个问题:

  • 这个问题有异步等待解决方案吗
  • 100毫秒的延迟对我有效,但它能在所有电脑上工作吗?速度较慢的PC会破坏这种结构吗

  • 好吧,如果焦点上发生的事情应该在点击之后发生,为什么不把焦点事件中的代码移到点击事件的末尾?@crimson589你是说把焦点嵌套在点击事件中?我的意思是只需删除焦点事件,然后把所有代码放到点击事件中。@TurqayUmudzade你能提供一个这个代码的最简单的工作示例吗?@crimson589,恐怕不行,我需要焦点事件。