Broke out shared code into functions.js
This commit is contained in:
parent
0486b50766
commit
887c8a89e9
@ -29,12 +29,5 @@ function killStickyIfMatch(result) {
|
||||
}
|
||||
}
|
||||
if (!killSticky) return;
|
||||
|
||||
console.log("Killing all stickies!");
|
||||
document.querySelectorAll('body *').forEach(element => {
|
||||
if (getComputedStyle(element).position === 'fixed' ||
|
||||
getComputedStyle(element).position === 'sticky') {
|
||||
element.remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
killSticky();
|
||||
}
|
||||
|
||||
41
functions.js
Normal file
41
functions.js
Normal file
@ -0,0 +1,41 @@
|
||||
/*******************************/
|
||||
/* EVENT LISTENER MANIPULATION */
|
||||
/*******************************/
|
||||
|
||||
/* Adds an event listener to a button (or other clickable element), attaching
|
||||
it to both "click" and "keyup" events (for use with keyboard navigation).
|
||||
Optionally also attaches the listener to the 'mousedown' event, making the
|
||||
element activate on mouse down instead of mouse up. */
|
||||
Element.prototype.addActivateEvent = function(func, includeMouseDown) {
|
||||
let ael = this.activateEventListener = (event) => { if (event.button === 0 || event.key === ' ') func(event) };
|
||||
if (includeMouseDown) this.addEventListener("mousedown", ael);
|
||||
this.addEventListener("click", ael);
|
||||
this.addEventListener("keyup", ael);
|
||||
}
|
||||
|
||||
/* Removes event listener from a clickable element, automatically detaching it
|
||||
from all relevant event types. */
|
||||
Element.prototype.removeActivateEvent = function() {
|
||||
let ael = this.activateEventListener;
|
||||
this.removeEventListener("mousedown", ael);
|
||||
this.removeEventListener("click", ael);
|
||||
this.removeEventListener("keyup", ael);
|
||||
}
|
||||
|
||||
/***********/
|
||||
/* HELPERS */
|
||||
/***********/
|
||||
|
||||
function killSticky() {
|
||||
console.log("Killing all stickies!");
|
||||
document.querySelectorAll('body *').forEach(element => {
|
||||
if (getComputedStyle(element).position === 'fixed' ||
|
||||
getComputedStyle(element).position === 'sticky') {
|
||||
element.remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
String.prototype.hasPrefix = function (prefix) {
|
||||
return (this.lastIndexOf(prefix, 0) === 0);
|
||||
}
|
||||
@ -208,5 +208,6 @@
|
||||
</div>
|
||||
<p>NOTE: Exclusion patterns override matching patterns; if a page is <em>both</em> matched <em>and</em> excluded, stickies will <strong>not</strong> be killed on that page.</p>
|
||||
</body>
|
||||
<script src="functions.js"></script>
|
||||
<script src="options.js"></script>
|
||||
</html>
|
||||
24
options.js
24
options.js
@ -1,27 +1,3 @@
|
||||
/*******************************/
|
||||
/* EVENT LISTENER MANIPULATION */
|
||||
/*******************************/
|
||||
|
||||
/* Adds an event listener to a button (or other clickable element), attaching
|
||||
it to both "click" and "keyup" events (for use with keyboard navigation).
|
||||
Optionally also attaches the listener to the 'mousedown' event, making the
|
||||
element activate on mouse down instead of mouse up. */
|
||||
Element.prototype.addActivateEvent = function(func, includeMouseDown) {
|
||||
let ael = this.activateEventListener = (event) => { if (event.button === 0 || event.key === ' ') func(event) };
|
||||
if (includeMouseDown) this.addEventListener("mousedown", ael);
|
||||
this.addEventListener("click", ael);
|
||||
this.addEventListener("keyup", ael);
|
||||
}
|
||||
|
||||
/* Removes event listener from a clickable element, automatically detaching it
|
||||
from all relevant event types. */
|
||||
Element.prototype.removeActivateEvent = function() {
|
||||
let ael = this.activateEventListener;
|
||||
this.removeEventListener("mousedown", ael);
|
||||
this.removeEventListener("click", ael);
|
||||
this.removeEventListener("keyup", ael);
|
||||
}
|
||||
|
||||
/*******************/
|
||||
/* EVENT LISTENERS */
|
||||
/*******************/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user