Skip to content
Navigation Menu
Toggle navigation
Sign in
Product
Actions
Automate any workflow
Packages
Host and manage packages
Security
Find and fix vulnerabilities
Codespaces
Instant dev environments
GitHub Copilot
Write better code with AI
Code review
Manage code changes
Issues
Plan and track work
Discussions
Collaborate outside of code
Explore
All features
Documentation
GitHub Skills
Blog
Solutions
By size
Enterprise
Teams
Startups
By industry
Healthcare
Financial services
Manufacturing
By use case
CI/CD & Automation
DevOps
DevSecOps
Resources
Topics
AI
DevOps
Security
Software Development
View all
Explore
Learning Pathways
White papers, Ebooks, Webinars
Customer Stories
Partners
Open Source
GitHub Sponsors
Fund open source developers
The ReadME Project
GitHub community articles
Repositories
Topics
Trending
Collections
Enterprise
Enterprise platform
AI-powered developer platform
Available add-ons
Advanced Security
Enterprise-grade security features
GitHub Copilot
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Provide feedback
We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Saved searches
Use saved searches to filter your results more quickly
Sign in
Sign up
Reseting focus
{{ message }}
sparemind
/
AutoClickerBookmarklet
Public
Notifications
You must be signed in to change notification settings
Fork
145
Star
39
Code
Issues
3
Pull requests
1
Actions
Projects
Security
Insights
Additional navigation options
Files
master
img
AutoClicker.js
README.md
demo.html
Breadcrumbs
AutoClickerBookmarklet
/
AutoClicker.js
Blame
Blame
Latest commit
sparemind
Added README. Added adjustable delay constant.
Nov 6, 2017
4558dd5
·
Nov 6, 2017
History
History
30 lines (26 loc) · 825 Bytes
Breadcrumbs
AutoClickerBookmarklet
/
AutoClicker.js
Top
File metadata and controls
Code
Blame
30 lines (26 loc) · 825 Bytes
Raw
javascript: var DELAY = 1; var autoClickerStyleElement = document.createElement("style"); autoClickerStyleElement.innerHTML="*{cursor: crosshair !important;}"; document.body.appendChild(autoClickerStyleElement); function addClicker(e) { if(!e.isTrusted) { return; } if(e.target.classList.contains("auto-clicker-target")) { e.target.classList.remove("auto-clicker-target"); } else { e.target.classList.add("auto-clicker-target"); } document.body.removeChild(autoClickerStyleElement); document.body.removeEventListener("click", addClicker); e.preventDefault(); autoClick(e.target); } function autoClick(element) { if(element.classList.contains("auto-clicker-target")) { element.click(); setTimeout(function(){ autoClick(element); }, DELAY); } } document.body.addEventListener("click", addClicker, 0);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
javascript:
var
DELAY
=
1
;
var
autoClickerStyleElement
=
document
.
createElement
(
"style"
)
;
autoClickerStyleElement
.
innerHTML
=
"*{cursor: crosshair !important;}"
;
document
.
body
.
appendChild
(
autoClickerStyleElement
)
;
function
addClicker
(
e
)
{
if
(
!
e
.
isTrusted
)
{
return
;
}
if
(
e
.
target
.
classList
.
contains
(
"auto-clicker-target"
)
)
{
e
.
target
.
classList
.
remove
(
"auto-clicker-target"
)
;
}
else
{
e
.
target
.
classList
.
add
(
"auto-clicker-target"
)
;
}
document
.
body
.
removeChild
(
autoClickerStyleElement
)
;
document
.
body
.
removeEventListener
(
"click"
,
addClicker
)
;
e
.
preventDefault
(
)
;
autoClick
(
e
.
target
)
;
}
function
autoClick
(
element
)
{
if
(
element
.
classList
.
contains
(
"auto-clicker-target"
)
)
{
element
.
click
(
)
;
setTimeout
(
function
(
)
{
autoClick
(
element
)
;
}
,
DELAY
)
;
}
}
document
.
body
.
addEventListener
(
"click"
,
addClicker
,
0
)
;
While the code is focused, press Alt+F1 for a menu of operations.