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;
|
if (!killSticky) return;
|
||||||
|
killSticky();
|
||||||
console.log("Killing all stickies!");
|
|
||||||
document.querySelectorAll('body *').forEach(element => {
|
|
||||||
if (getComputedStyle(element).position === 'fixed' ||
|
|
||||||
getComputedStyle(element).position === 'sticky') {
|
|
||||||
element.remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
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>
|
</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>
|
<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>
|
</body>
|
||||||
|
<script src="functions.js"></script>
|
||||||
<script src="options.js"></script>
|
<script src="options.js"></script>
|
||||||
</html>
|
</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 */
|
/* EVENT LISTENERS */
|
||||||
/*******************/
|
/*******************/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user