diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js
index 8ea81d56d..89daea7ce 100644
--- a/app/assets/javascripts/notes.js
+++ b/app/assets/javascripts/notes.js
@@ -123,6 +123,10 @@ Danbooru.Note = {
},
toggle_all: function() {
+ // Ignore the click event when adding a note
+ if ((new Date).getTime() < Danbooru.Note.ignore_click_until) {
+ return;
+ }
var $note_container = $("#note-container");
var is_hidden = ($note_container.css('visibility') === 'hidden');
@@ -469,7 +473,7 @@ Danbooru.Note = {
$("#image").bind("mousedown", Danbooru.Note.TranslationMode.Drag.start);
$(window).bind("mouseup", Danbooru.Note.TranslationMode.Drag.stop);
- Danbooru.notice('Translation mode is on. Drag on the image to create notes. Turn translation mode off (shortcut is n).');
+ Danbooru.notice('Translation mode is on. Click or drag on the image to create notes. Turn translation mode off (shortcut is n).');
$("#notice a:contains(Turn translation mode off)").click(Danbooru.Note.TranslationMode.stop);
},
@@ -492,12 +496,18 @@ Danbooru.Note = {
h = 10;
}
Danbooru.Note.create(x - offset.left, y - offset.top, w, h);
- $("#note-container").css('visibility', 'visible');
}
+ } else {
+ Danbooru.Note.create(e.pageX - offset.left, e.pageY - offset.top);
}
+ $("#note-container").css('visibility', 'visible');
e.stopPropagation();
e.preventDefault();
+
+ // Hack to ignore clicks for some milliseconds
+ // The mouseup event is executed before the click event, so it's hard to do this properly
+ Danbooru.Note.ignore_click_until = (new Date).getTime() + 200;
},
Drag: {
@@ -595,6 +605,7 @@ Danbooru.Note = {
editing: false,
timeouts: [],
pending: {},
+ ignore_click_until: 0,
add: function(container, id, x, y, w, h, text) {
var $note_box = Danbooru.Note.Box.create(id);