简体   繁体   中英

Interrupt all mousedown events to simulate like a mouse click

I want to trigger click event on a element when mousedown occurs. Also, I want to enable this feature for all elements in a html page.

Is it possible with jQuery on Chrome ?

Here's my first attempt;

$.fn.mousedown = function (onclick) {
    this.bind("click", function (e) { onclick.call(this, e); });  
    return this;
};

But this mousedown elements fired after click occurs.

$(document).on('mousedown', function (e) { $(e.target).trigger('click') })

I'm not sure though for what this should be useful.

To prevent the second click (which is the normal click) you have to do some extra work

$(document).on('mousedown', function (e) {
    $(e.target).trigger('click').once('click', function (e) {
        e.preventDefault();
        e.stopPropagation();
    });
})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM