diff --git a/examples/marks.html b/examples/marks.html
index 9f55541..c5f9176 100644
--- a/examples/marks.html
+++ b/examples/marks.html
@@ -79,7 +79,8 @@
this.rendition.themes.default({
'p': {
- 'padding': '0 35px',
+ 'padding': '0 20px 0 0',
+ 'text-align': 'left',
'position': 'relative'
},
'[ref="epubjs-mk"]::before' : {
@@ -88,8 +89,9 @@
'display': 'block',
'right' : '0',
'position' : 'absolute',
- 'width': '30px',
- 'height': '30px',
+ 'width': '20px',
+ 'height': '20px',
+ 'margin': '0',
'cursor': 'pointer'
}
});
diff --git a/package.json b/package.json
index a78af52..4f7a51d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "epubjs",
- "version": "0.3.27",
+ "version": "0.3.28",
"description": "Parse and Render Epubs",
"main": "lib/index.js",
"module": "src/index.js",
diff --git a/src/contents.js b/src/contents.js
index c1cb310..df2f37a 100644
--- a/src/contents.js
+++ b/src/contents.js
@@ -6,7 +6,7 @@ import {replaceLinks} from "./utils/replacements";
import { Pane, Highlight, Underline } from "marks-pane";
// Dom events to listen for
-const EVENTS = ["keydown", "keyup", "keypressed", "mouseup", "mousedown", "click", "touchend", "touchstart"];
+const EVENTS = ["keydown", "keyup", "keypressed", "mouseup", "mousedown", "click", "touchend", "touchstart", "markClicked"];
class Contents {
constructor(doc, content, cfiBase) {
@@ -767,6 +767,11 @@ class Contents {
let m = new Highlight(range, "epubjs-hl", data, {'fill': 'yellow', 'fill-opacity': '0.3', 'mix-blend-mode': 'multiply'});
let h = this.pane.addMark(m);
+
+ h.addEventListener("click", () => {
+ this.emit("markClicked", cfiRange, data);
+ });
+
if (cb) {
h.element.addEventListener("click", cb);
}
@@ -784,6 +789,11 @@ class Contents {
let m = new Underline(range, "epubjs-ul", data, {'stroke': 'black', 'stroke-opacity': '0.3', 'mix-blend-mode': 'multiply'});
let h = this.pane.addMark(m);
+
+ h.addEventListener("click", () => {
+ this.emit("markClicked", cfiRange, data);
+ });
+
if (cb) {
h.element.addEventListener("click", cb);
}
@@ -801,16 +811,20 @@ class Contents {
parent.dataset["epubcfi"] = cfiRange;
if (data) {
- Object.entries(data).forEach(([key, val]) => {
- parent.dataset[key] = val;
+ Object.keys(data).forEach((key) => {
+ parent.dataset[key] = data[key];
});
}
+ parent.addEventListener("click", () => {
+ this.emit("markClicked", cfiRange, data);
+ });
if (cb) {
parent.addEventListener("click", cb);
}
+ return parent;
}
destroy() {