[JavaScript] jQuery realizes coupled mouse click and double click events

jq implements double click event

The dblclick and click of jq are independent of each other. On the basis of triggering dblclick, two clicks will also be triggered.
Here is a demo that couples each other

var click = false;
$().on('click', function () {
    
    
    if (click) {
    
    
        // 双击
        click = false;

    } else {
    
    
        click = true;
        setTimeout(function () {
    
    
            if (click) {
    
    
                // 单击
                click = false;
            }
        }.bind(this), 200)
    }
});

Package:

function dblclick(elementSelector, childSelector, dblCallback, clickCallback = undefined) {
    
    
    var click = false;
    $(elementSelector).on('click', childSelector || '', function () {
    
    
        if (click) {
    
    
            // 双击
            click = false;
            dblCallback.bind(this)();
        } else {
    
    
            click = true;
            setTimeout(function () {
    
    
                if (click) {
    
    
                    // 单击
                    console.log(this);

                    click = false;
                    clickCallback && clickCallback.bind(this)();
                }
            }.bind(this), 200)
        }
    });
}

Guess you like

Origin blog.csdn.net/qq_16181837/article/details/105474156