Intrinza
Intrinza

Reputation: 11

Get this function to work when I left mouse click?

I'm creating an extension and going to use tampermonkey to run it and I want this to work when I left mouse click and hold it'll still run.

// @run-at       document-end

(function() {
var amount = 6;
var duration = 50; //ms

var overwriting = function(evt) {
    if (evt.keyCode === 0) { // Left mouse click?
        for (var i = 0; i < amount; ++i) {
            setTimeout(function() {
                window.onkeydown({keyCode: 87}); // KEY_W
                window.onkeyup({keyCode: 87});
            }, i * duration);
        }
    }
};

window.addEventListener('keydown', overwriting);
})();

Upvotes: 0

Views: 121

Answers (2)

Bosselini
Bosselini

Reputation: 21

"event.which" ,For key or mouse events, this property indicates the specific key or button that was pressed.

// @run-at       document-end

(function() {
var amount = 6;
var duration = 50; //ms

var overwriting = function(evt) {
    if (evt.keyCode === 0) { // Left mouse click?
        for (var i = 0; i < amount; ++i) {
            setTimeout(function() {
                window.onkeydown({keyCode: 87}); // KEY_W
                window.onkeyup({keyCode: 87});
            }, i * duration);
        }
    }
};
/*
  1 = Left   mouse button
  2 = Centre mouse button
  3 = Right  mouse button
*/

window.addEventListener('mousedown', function(event) {
  if (event.which === 1) {
/* Left mouse button was clicked! */
    overwriting();
   }
  });
})();

Upvotes: 1

gmiley
gmiley

Reputation: 6604

Try using "mousedown" instead:

(function() {
var amount = 6;
var duration = 50; //ms

var overwriting = function(evt) {
    for (var i = 0; i < amount; ++i) {
        setTimeout(function() {
            window.onkeydown({keyCode: 87}); // KEY_W
            window.onkeyup({keyCode: 87});
        }, i * duration);
    }
};

window.addEventListener('mousedown', overwriting);
})();

Upvotes: 1

Related Questions