diff --git a/app/javascript/src/javascripts/artist_commentaries.js b/app/javascript/src/javascripts/artist_commentaries.js
index 06f99fc70..5cba24653 100644
--- a/app/javascript/src/javascripts/artist_commentaries.js
+++ b/app/javascript/src/javascripts/artist_commentaries.js
@@ -13,7 +13,7 @@ ArtistCommentary.initialize_all = function() {
}
ArtistCommentary.initialize_commentary_display_tabs = function() {
- $("#commentary-sections li a").click(function(e) {
+ $("#commentary-sections li a").on("click.danbooru", function(e) {
if (e.target.hash === "#original") {
$("#original-artist-commentary").show();
$("#translated-artist-commentary").hide();
@@ -47,7 +47,7 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() {
$('#add-commentary-dialog').dialog('close');
});
- $("#add-commentary").click(function(e) {
+ $("#add-commentary").on("click.danbooru", function(e) {
e.preventDefault();
$("#add-commentary-dialog").dialog("open");
});
@@ -56,7 +56,7 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() {
$("#fetch-commentary input").toggle();
});
- $('#fetch-commentary button[type="submit"]').click(ArtistCommentary.fetch_commentary);
+ $('#fetch-commentary button[type="submit"]').on("click.danbooru", ArtistCommentary.fetch_commentary);
}
ArtistCommentary.fetch_commentary = function() {
diff --git a/app/javascript/src/javascripts/artists.js b/app/javascript/src/javascripts/artists.js
index 8024cf9bf..fd5f41336 100644
--- a/app/javascript/src/javascripts/artists.js
+++ b/app/javascript/src/javascripts/artists.js
@@ -7,7 +7,7 @@ Artist.initialize_all = function() {
}
Artist.initialize_check_name = function() {
- $("#artist_name").keyup(function(e) {
+ $("#artist_name").on("keyup.danbooru", function(e) {
if ($("#artist_name").val().length > 0) {
$("#check-name-result").html("");
diff --git a/app/javascript/src/javascripts/autocomplete.js.erb b/app/javascript/src/javascripts/autocomplete.js.erb
index 97df81127..e5e5b3b19 100644
--- a/app/javascript/src/javascripts/autocomplete.js.erb
+++ b/app/javascript/src/javascripts/autocomplete.js.erb
@@ -343,7 +343,7 @@ Autocomplete.render_item = function(list, item) {
var $link = $("");
$link.text(item.label);
$link.attr("href", "/posts?tags=" + encodeURIComponent(item.value));
- $link.click(function(e) {
+ $link.on("click.danbooru", function(e) {
e.preventDefault();
});
diff --git a/app/javascript/src/javascripts/blacklists.js b/app/javascript/src/javascripts/blacklists.js
index a1e238e65..7bd98408c 100644
--- a/app/javascript/src/javascripts/blacklists.js
+++ b/app/javascript/src/javascripts/blacklists.js
@@ -71,7 +71,7 @@ Blacklist.update_sidebar = function() {
link.text(entry.tags);
link.attr("href", `/posts?tags=${encodeURIComponent(entry.tags)}`);
link.attr("title", entry.tags);
- link.click(Blacklist.toggle_entry);
+ link.on("click.danbooru", Blacklist.toggle_entry);
count.html(entry.hits);
count.addClass("count");
item.append(link);
@@ -93,7 +93,7 @@ Blacklist.initialize_disable_all_blacklists = function() {
$("#disable-all-blacklists").show()
}
- $("#disable-all-blacklists").click(function(e) {
+ $("#disable-all-blacklists").on("click.danbooru", function(e) {
$("#disable-all-blacklists").hide();
$("#re-enable-all-blacklists").show();
Cookie.put("dab", "1");
@@ -101,7 +101,7 @@ Blacklist.initialize_disable_all_blacklists = function() {
e.preventDefault();
});
- $("#re-enable-all-blacklists").click(function(e) {
+ $("#re-enable-all-blacklists").on("click.danbooru", function(e) {
$("#disable-all-blacklists").show();
$("#re-enable-all-blacklists").hide();
Cookie.put("dab", "0");
diff --git a/app/javascript/src/javascripts/comments.js b/app/javascript/src/javascripts/comments.js
index 61abb39a2..7038cbf0b 100644
--- a/app/javascript/src/javascripts/comments.js
+++ b/app/javascript/src/javascripts/comments.js
@@ -4,9 +4,9 @@ let Comment = {};
Comment.initialize_all = function() {
if ($("#c-posts").length || $("#c-comments").length) {
- $(document).on("click", ".reply-link", Comment.quote);
- $(document).on("click", ".edit_comment_link", Comment.show_edit_form);
- $(document).on("click", ".expand-comment-response", Comment.show_new_comment_form);
+ $(document).on("click.danbooru.comment", ".reply-link", Comment.quote);
+ $(document).on("click.danbooru.comment", ".edit_comment_link", Comment.show_edit_form);
+ $(document).on("click.danbooru.comment", ".expand-comment-response", Comment.show_new_comment_form);
}
$(window).on("danbooru:index_for_post", (_event, post_id, current_comment_section) => {
diff --git a/app/javascript/src/javascripts/common.js b/app/javascript/src/javascripts/common.js
index 9c5a3b900..89831b0e5 100644
--- a/app/javascript/src/javascripts/common.js
+++ b/app/javascript/src/javascripts/common.js
@@ -3,19 +3,19 @@ import Utility from './utility'
$(function() {
// Account notices
- $("#hide-sign-up-notice").click(function(e) {
+ $("#hide-sign-up-notice").on("click.danbooru", function(e) {
$("#sign-up-notice").hide();
Cookie.put("hide_sign_up_notice", "1", 7);
e.preventDefault();
});
- $("#hide-upgrade-account-notice").click(function(e) {
+ $("#hide-upgrade-account-notice").on("click.danbooru", function(e) {
$("#upgrade-account-notice").hide();
Cookie.put('hide_upgrade_account_notice', '1', 7);
e.preventDefault();
});
- $("#hide-dmail-notice").click(function(e) {
+ $("#hide-dmail-notice").on("click.danbooru", function(e) {
var $dmail_notice = $("#dmail-notice");
$dmail_notice.hide();
var dmail_id = $dmail_notice.data("id");
@@ -23,12 +23,12 @@ $(function() {
e.preventDefault();
});
- $("#close-notice-link").click(function(e) {
+ $("#close-notice-link").on("click.danbooru", function(e) {
$('#notice').fadeOut("fast");
e.preventDefault();
});
- $("#desktop-version-link a").click(function(e) {
+ $("#desktop-version-link a").on("click.danbooru", function(e) {
e.preventDefault();
$.ajax("/users/" + Utility.meta("current-user-id") + ".json", {
method: "PUT",
diff --git a/app/javascript/src/javascripts/dtext.js b/app/javascript/src/javascripts/dtext.js
index e990c1758..e9a633f42 100644
--- a/app/javascript/src/javascripts/dtext.js
+++ b/app/javascript/src/javascripts/dtext.js
@@ -6,12 +6,12 @@ Dtext.initialize_all = function() {
}
Dtext.initialize_links = function() {
- $(".simple_form input[value=Preview]").click(Dtext.click_button);
+ $(".simple_form input[value=Preview]").on("click.danbooru", Dtext.click_button);
}
Dtext.initialize_expandables = function($parent) {
$parent = $parent || $(document);
- $parent.find(".expandable-button").click(function(e) {
+ $parent.find(".expandable-button").on("click.danbooru", function(e) {
var button = $(this);
button.parent().next().fadeToggle("fast");
if (button.val() === "Show") {
diff --git a/app/javascript/src/javascripts/favorite_groups.js b/app/javascript/src/javascripts/favorite_groups.js
index 3aa7b6153..1e5ac7954 100644
--- a/app/javascript/src/javascripts/favorite_groups.js
+++ b/app/javascript/src/javascripts/favorite_groups.js
@@ -17,17 +17,17 @@ FavoriteGroup.initialize_add_to_favgroup_dialog = function() {
}
});
- var open_favgroup_dialog = function(e) {
- if ($(".add-to-favgroup").length === 1) {
- // If the user only has one favorite group we don't need to ask which group to add the post to.
- $(".add-to-favgroup").click();
- } else if ($(".add-to-favgroup").length > 1) {
- $("#add-to-favgroup-dialog").dialog("open");
- }
- e.preventDefault();
- }
+ $("#open-favgroup-dialog-link").on("click.danbooru", FavoriteGroup.open_favgroup_dialog);
+}
- $("#open-favgroup-dialog-link").click(open_favgroup_dialog);
+FavoriteGroup.open_favgroup_dialog = function(e) {
+ if ($(".add-to-favgroup").length === 1) {
+ // If the user only has one favorite group we don't need to ask which group to add the post to.
+ $(".add-to-favgroup").click();
+ } else if ($(".add-to-favgroup").length > 1) {
+ $("#add-to-favgroup-dialog").dialog("open");
+ }
+ e.preventDefault();
}
$(function() {
diff --git a/app/javascript/src/javascripts/forum_posts.js b/app/javascript/src/javascripts/forum_posts.js
index dce3ef8c0..ab49758d7 100644
--- a/app/javascript/src/javascripts/forum_posts.js
+++ b/app/javascript/src/javascripts/forum_posts.js
@@ -7,14 +7,14 @@ ForumPost.initialize_all = function() {
}
ForumPost.initialize_edit_links = function() {
- $(".edit_forum_post_link").click(function(e) {
+ $(".edit_forum_post_link").on("click.danbooru", function(e) {
var link_id = $(this).attr("id");
var forum_post_id = link_id.match(/^edit_forum_post_link_(\d+)$/)[1];
$("#edit_forum_post_" + forum_post_id).fadeToggle("fast");
e.preventDefault();
});
- $(".edit_forum_topic_link").click(function(e) {
+ $(".edit_forum_topic_link").on("click.danbooru", function(e) {
var link_id = $(this).attr("id");
var forum_topic_id = link_id.match(/^edit_forum_topic_link_(\d+)$/)[1];
$("#edit_forum_topic_" + forum_topic_id).fadeToggle("fast");
diff --git a/app/javascript/src/javascripts/janitor_trials.js b/app/javascript/src/javascripts/janitor_trials.js
index 96186ecc0..0976e7652 100644
--- a/app/javascript/src/javascripts/janitor_trials.js
+++ b/app/javascript/src/javascripts/janitor_trials.js
@@ -2,7 +2,7 @@ let JanitorTrials = {};
JanitorTrials.initialize_all = function() {
if ($("#c-janitor-trials").length) {
- $("input[value=Test]").click(function(e) {
+ $("input[value=Test]").on("click.danbooru", function(e) {
$.ajax({
type: "get",
url: "/janitor_trials/test.json",
diff --git a/app/javascript/src/javascripts/mod_queue.js b/app/javascript/src/javascripts/mod_queue.js
index 3752b806c..14bc00682 100644
--- a/app/javascript/src/javascripts/mod_queue.js
+++ b/app/javascript/src/javascripts/mod_queue.js
@@ -31,7 +31,7 @@ ModQueue.initialize_hilights = function() {
}
ModQueue.initialize_detailed_rejection_links = function() {
- $(".detailed-rejection-link").click(ModQueue.detailed_rejection_dialog)
+ $(".detailed-rejection-link").on("click.danbooru", ModQueue.detailed_rejection_dialog)
}
ModQueue.detailed_rejection_dialog = function() {
diff --git a/app/javascript/src/javascripts/news_updates.js b/app/javascript/src/javascripts/news_updates.js
index 8a5027b29..60f90f557 100644
--- a/app/javascript/src/javascripts/news_updates.js
+++ b/app/javascript/src/javascripts/news_updates.js
@@ -10,7 +10,7 @@ NewsUpdate.initialize = function() {
} else {
$("#news-updates").show();
- $("#close-news-ticker-link").click(function(e) {
+ $("#close-news-ticker-link").on("click.danbooru", function(e) {
$("#news-updates").hide();
Cookie.put("news-ticker", key);
diff --git a/app/javascript/src/javascripts/notes.js b/app/javascript/src/javascripts/notes.js
index 7e42aba87..b4a026572 100644
--- a/app/javascript/src/javascripts/notes.js
+++ b/app/javascript/src/javascripts/notes.js
@@ -65,7 +65,7 @@ let Note = {
bind_events: function($note_box) {
$note_box.on(
- "dragstart resizestart",
+ "dragstart.danbooru resizestart.danbooru",
function(e) {
var $note_box_inner = $(e.currentTarget);
$note_box_inner.find(".note-box-inner-border").addClass("unsaved");
@@ -82,7 +82,7 @@ let Note = {
}
);
- $note_box.resize(
+ $note_box.on("resize.danbooru",
function(e) {
var $note_box_inner = $(e.currentTarget);
Note.Box.resize_inner_border($note_box_inner);
@@ -91,7 +91,7 @@ let Note = {
);
$note_box.on(
- "dragstop resizestop",
+ "dragstop.danbooru resizestop.danbooru",
function(e) {
Note.dragging = false;
if (Note.embed) {
@@ -107,7 +107,7 @@ let Note = {
);
$note_box.on(
- "mouseover mouseout",
+ "mouseover.danbooru mouseout.danbooru",
function(e) {
if (Note.dragging) {
return;
@@ -334,20 +334,20 @@ let Note = {
},
bind_events: function($note_body) {
- $note_body.mouseover(function(e) {
+ $note_body.on("mouseover.danbooru", function(e) {
var $note_body_inner = $(e.currentTarget);
Note.Body.show($note_body_inner.data("id"));
e.stopPropagation();
});
- $note_body.mouseout(function(e) {
+ $note_body.on("mouseout.danbooru", function(e) {
var $note_body_inner = $(e.currentTarget);
Note.Body.hide($note_body_inner.data("id"));
e.stopPropagation();
});
if (Utility.meta("current-user-name") !== "Anonymous") {
- $note_body.click(function(e) {
+ $note_body.on("click.danbooru", function(e) {
if (e.target.tagName !== "A") {
var $note_body_inner = $(e.currentTarget);
Note.Edit.show($note_body_inner);
@@ -355,7 +355,7 @@ let Note = {
e.stopPropagation();
});
} else {
- $note_body.click(function(e) {
+ $note_body.on("click.danbooru", function(e) {
if (e.target.tagName !== "A") {
Utility.notice("You must be logged in to edit notes");
}
@@ -419,7 +419,7 @@ let Note = {
}
$dialog.dialog("option", "title", 'Edit note #' + id + ' (view help)');
- $dialog.on("dialogclose", function() {
+ $dialog.on("dialogclose.danbooru", function() {
Note.editing = false;
$(".note-box").resizable("enable");
$(".note-box").draggable("enable");
@@ -585,12 +585,12 @@ let Note = {
$(document.body).addClass("mode-translation");
$("#original-file-link").click();
$("#image").off("click", Note.Box.toggle_all);
- $("#image").mousedown(Note.TranslationMode.Drag.start);
- $(window).mouseup(Note.TranslationMode.Drag.stop);
+ $("#image").on("mousedown.danbooru.note", Note.TranslationMode.Drag.start);
+ $(document).on("mouseup.danbooru.note", Note.TranslationMode.Drag.stop);
$("#mark-as-translated-section").show();
Utility.notice('Translation mode is on. Drag on the image to create notes. Turn translation mode off (shortcut is n).');
- $("#notice a:contains(Turn translation mode off)").click(Note.TranslationMode.stop);
+ $("#notice a:contains(Turn translation mode off)").on("click.danbooru", Note.TranslationMode.stop);
},
stop: function(e) {
@@ -598,9 +598,9 @@ let Note = {
Note.TranslationMode.active = false;
$("#image").css("cursor", "auto");
- $("#image").click(Note.Box.toggle_all);
+ $("#image").on("click.danbooru", Note.Box.toggle_all);
$("#image").off("mousedown", Note.TranslationMode.Drag.start);
- $(window).off("mouseup", Note.TranslationMode.Drag.stop);
+ $(document).off("mouseup", Note.TranslationMode.Drag.stop);
$(document.body).removeClass("mode-translation");
$("#close-notice-link").click();
$("#mark-as-translated-section").hide();
@@ -639,7 +639,7 @@ let Note = {
return;
}
e.preventDefault(); /* don't drag the image */
- $(window).mousemove(Note.TranslationMode.Drag.drag);
+ $(document).on("mousemove.danbooru", Note.TranslationMode.Drag.drag);
Note.TranslationMode.Drag.dragStartX = e.pageX;
Note.TranslationMode.Drag.dragStartY = e.pageY;
},
@@ -703,7 +703,7 @@ let Note = {
if (Note.TranslationMode.Drag.dragStartX === 0) {
return; /* 'stop' is bound to window, don't create note if start wasn't triggered */
}
- $(window).off("mousemove");
+ $(document).off("mousemove", Note.TranslationMode.Drag.drag);
if (Note.TranslationMode.Drag.dragging) {
$('#note-preview').css({ display: 'none' });
@@ -802,12 +802,12 @@ let Note = {
this.initialize_shortcuts();
this.initialize_highlight();
- $(window).on("hashchange", this.initialize_highlight);
+ $(document).on("hashchange.danbooru.note", this.initialize_highlight);
},
initialize_shortcuts: function() {
- $("#translate").click(Note.TranslationMode.toggle);
- $("#image").click(Note.Box.toggle_all);
+ $("#translate").on("click.danbooru", Note.TranslationMode.toggle);
+ $("#image").on("click.danbooru", Note.Box.toggle_all);
},
initialize_highlight: function() {
diff --git a/app/javascript/src/javascripts/pools.js b/app/javascript/src/javascripts/pools.js
index 8e9cd5209..6422c625c 100644
--- a/app/javascript/src/javascripts/pools.js
+++ b/app/javascript/src/javascripts/pools.js
@@ -13,12 +13,12 @@ Pool.initialize_all = function() {
Pool.initialize_add_to_pool_link = function() {
$("#add-to-pool-dialog").dialog({autoOpen: false});
- $("#pool").click(function(e) {
+ $("#pool").on("click.danbooru", function(e) {
e.preventDefault();
$("#add-to-pool-dialog").dialog("open");
});
- $("#recent-pools li").click(function(e) {
+ $("#recent-pools li").on("click.danbooru", function(e) {
e.preventDefault();
$("#pool_name").val($(this).attr("data-value"));
});
diff --git a/app/javascript/src/javascripts/post_appeals.js b/app/javascript/src/javascripts/post_appeals.js
index 0e5134ab6..814c18343 100644
--- a/app/javascript/src/javascripts/post_appeals.js
+++ b/app/javascript/src/javascripts/post_appeals.js
@@ -22,7 +22,7 @@ PostAppeal.initialize_appeal = function() {
}
});
- $("#appeal").click(function(e) {
+ $("#appeal").on("click.danbooru", function(e) {
e.preventDefault();
$("#appeal-dialog").dialog("open");
});
diff --git a/app/javascript/src/javascripts/post_flags.js b/app/javascript/src/javascripts/post_flags.js
index 3dbd8e361..27f4d56d3 100644
--- a/app/javascript/src/javascripts/post_flags.js
+++ b/app/javascript/src/javascripts/post_flags.js
@@ -26,7 +26,7 @@ PostFlag.initialize_flag = function() {
$('#flag-dialog').dialog('close');
});
- $("#flag").click(function(e) {
+ $("#flag").on("click.danbooru", function(e) {
e.preventDefault();
$("#flag-dialog").dialog("open");
});
diff --git a/app/javascript/src/javascripts/post_mode_menu.js b/app/javascript/src/javascripts/post_mode_menu.js
index 4f86aab83..f98732605 100644
--- a/app/javascript/src/javascripts/post_mode_menu.js
+++ b/app/javascript/src/javascripts/post_mode_menu.js
@@ -49,24 +49,24 @@ PostModeMenu.initialize_selector = function() {
$("#mode-box select").val(Cookie.get("mode"));
}
- $("#mode-box select").change(function(e) {
+ $("#mode-box select").on("change.danbooru", function(e) {
PostModeMenu.change();
$("#tag-script-field:visible").focus().select();
});
}
PostModeMenu.initialize_preview_link = function() {
- $(".post-preview a").click(PostModeMenu.click);
+ $(".post-preview a").on("click.danbooru", PostModeMenu.click);
}
PostModeMenu.initialize_edit_form = function() {
$("#quick-edit-div").hide();
- $("#quick-edit-form input[value=Cancel]").click(function(e) {
+ $("#quick-edit-form input[value=Cancel]").on("click.danbooru", function(e) {
PostModeMenu.close_edit_form();
e.preventDefault();
});
- $("#quick-edit-form").submit(function(e) {
+ $("#quick-edit-form").on("submit.danbooru", function(e) {
$.ajax({
type: "put",
url: $("#quick-edit-form").attr("action"),
diff --git a/app/javascript/src/javascripts/post_tooltips.js b/app/javascript/src/javascripts/post_tooltips.js
index 8f677bfe1..883cffe31 100644
--- a/app/javascript/src/javascripts/post_tooltips.js
+++ b/app/javascript/src/javascripts/post_tooltips.js
@@ -63,7 +63,7 @@ PostTooltip.QTIP_OPTIONS = {
};
PostTooltip.initialize = function () {
- $(document).on("mouseenter", PostTooltip.POST_SELECTOR, function (event) {
+ $(document).on("mouseenter.danbooru.postTooltip", PostTooltip.POST_SELECTOR, function (event) {
if (PostTooltip.disabled()) {
$(this).qtip("disable");
} else {
@@ -73,20 +73,20 @@ PostTooltip.initialize = function () {
PostTooltip.lostFocus = false;
});
- $(document).on("mouseleave", PostTooltip.POST_SELECTOR, function (event) {
+ $(document).on("mouseleave.danbooru.postTooltip", PostTooltip.POST_SELECTOR, function (event) {
PostTooltip.lostFocus = true;
});
- $(document).on("click", ".post-tooltip-disable", PostTooltip.on_disable_tooltips);
+ $(document).on("click.danbooru.postTooltip", ".post-tooltip-disable", PostTooltip.on_disable_tooltips);
// Hide tooltips when pressing keys or clicking thumbnails.
- $(document).on("keydown", PostTooltip.hide);
- $(document).on("click", PostTooltip.POST_SELECTOR, PostTooltip.hide);
+ $(document).on("keydown.danbooru.postTooltip", PostTooltip.hide);
+ $(document).on("click.danbooru.postTooltip", PostTooltip.POST_SELECTOR, PostTooltip.hide);
// Disable tooltips on touch devices. https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent
PostTooltip.isTouching = false;
- $(document).on("touchstart", function (event) { PostTooltip.isTouching = true; });
- $(document).on("touchend", function (event) { PostTooltip.isTouching = false; });
+ $(document).on("touchstart.danbooru.postTooltip", function (event) { PostTooltip.isTouching = true; });
+ $(document).on("touchend.danbooru.postTooltip", function (event) { PostTooltip.isTouching = false; });
};
PostTooltip.hide = function (event) {
diff --git a/app/javascript/src/javascripts/posts.js.erb b/app/javascript/src/javascripts/posts.js.erb
index 89f6e4d26..7d617b8b1 100644
--- a/app/javascript/src/javascripts/posts.js.erb
+++ b/app/javascript/src/javascripts/posts.js.erb
@@ -82,12 +82,12 @@ Post.initialize_gestures = function() {
}
Post.initialize_edit_dialog = function() {
- $("#open-edit-dialog").button().show().click(function(e) {
+ $("#open-edit-dialog").button().show().on("click.danbooru", function(e) {
Post.open_edit_dialog();
e.preventDefault();
});
- $("#toggle-related-tags-link").click(function(e) {
+ $("#toggle-related-tags-link").on("click.danbooru", function(e) {
RelatedTag.toggle();
e.preventDefault();
});
@@ -133,7 +133,7 @@ Post.open_edit_dialog = function() {
var pin_button = $("").button({icons: {primary: "ui-icon-pin-w"}, label: "pin", text: false});
pin_button.css({width: "20px", height: "20px", position: "absolute", right: "28.4px"});
dialog.parent().children(".ui-dialog-titlebar").append(pin_button);
- pin_button.click(function(e) {
+ pin_button.on("click.danbooru", function(e) {
var dialog_widget = $('.ui-dialog:has(#edit-dialog)');
var pos = dialog_widget.offset();
@@ -176,7 +176,7 @@ Post.close_edit_dialog = function(e, ui) {
}
Post.initialize_similar = function() {
- $("#similar-button").click(function(e) {
+ $("#similar-button").on("click.danbooru", function(e) {
$.get("/iqdb_queries", {"url": $("#post_source").val()}).done(function(html) {$("#iqdb-similar").html(html).show()});
e.preventDefault();
});
@@ -246,7 +246,7 @@ Post.initialize_shortcuts = function() {
}
Post.initialize_links = function() {
- $("#copy-notes").click(function(e) {
+ $("#copy-notes").on("click.danbooru", function(e) {
var current_post_id = $("meta[name=post-id]").attr("content");
var other_post_id = parseInt(prompt("Enter the ID of the post to copy all notes to:"), 10);
@@ -284,12 +284,12 @@ Post.initialize_post_relationship_previews = function() {
this.toggle_relationship_preview($("#has-parent-relationship-preview"), $("#has-parent-relationship-preview-link"));
}
- $("#has-children-relationship-preview-link").click(function(e) {
+ $("#has-children-relationship-preview-link").on("click.danbooru", function(e) {
Post.toggle_relationship_preview($("#has-children-relationship-preview"), $(this));
e.preventDefault();
});
- $("#has-parent-relationship-preview-link").click(function(e) {
+ $("#has-parent-relationship-preview-link").on("click.danbooru", function(e) {
Post.toggle_relationship_preview($("#has-parent-relationship-preview"), $(this));
e.preventDefault();
});
@@ -307,7 +307,7 @@ Post.toggle_relationship_preview = function(preview, preview_link) {
}
Post.initialize_favlist = function() {
- $("#show-favlist-link, #hide-favlist-link").click(function(e) {
+ $("#show-favlist-link, #hide-favlist-link").on("click.danbooru", function(e) {
$("#favlist, #show-favlist-link, #hide-favlist-link").toggle();
e.preventDefault();
});
@@ -326,7 +326,7 @@ Post.expand_image = function(e) {
$image.css("opacity", "0.25");
$image.width($image.data("original-width"));
$image.height($image.data("original-height"));
- $image.on("load", function() {
+ $image.on("load.danbooru", function() {
$image.css("opacity", "1");
$notice.hide();
});
@@ -338,7 +338,7 @@ Post.expand_image = function(e) {
}
Post.initialize_post_image_resize_links = function() {
- $("#image-resize-link").click(Post.expand_image);
+ $("#image-resize-link").on("click.danbooru", Post.expand_image);
if ($("#image-resize-notice").length) {
Utility.keydown("v", "resize", function(e) {
@@ -353,7 +353,7 @@ Post.initialize_post_image_resize_links = function() {
$image.height($image.data("large-height"));
$notice.children().eq(0).show();
$notice.children().eq(1).hide(); // Loading message
- $image.on("load", function() {
+ $image.on("load.danbooru", function() {
$image.css("opacity", "1");
$notice.show();
});
@@ -395,7 +395,7 @@ Post.resize_image_to_window = function($img) {
}
Post.initialize_post_image_resize_to_window_link = function() {
- $("#image-resize-to-window-link").click(function(e) {
+ $("#image-resize-to-window-link").on("click.danbooru", function(e) {
Post.resize_image_to_window($("#image"));
e.preventDefault();
});
@@ -404,7 +404,7 @@ Post.initialize_post_image_resize_to_window_link = function() {
Post.initialize_excerpt = function() {
$("#excerpt").hide();
- $("#show-posts-link").click(function(e) {
+ $("#show-posts-link").on("click.danbooru", function(e) {
$("#show-posts-link").parent("li").addClass("active");
$("#show-excerpt-link").parent("li").removeClass("active");
$("#posts").show();
@@ -412,7 +412,7 @@ Post.initialize_excerpt = function() {
e.preventDefault();
});
- $("#show-excerpt-link").click(function(e) {
+ $("#show-excerpt-link").on("click.danbooru", function(e) {
if ($(this).parent("li").hasClass("active")) {
return;
}
@@ -429,7 +429,7 @@ Post.initialize_excerpt = function() {
}
Post.initialize_post_sections = function() {
- $("#post-sections li a").click(function(e) {
+ $("#post-sections li a").on("click.danbooru", function(e) {
if (e.target.hash === "#comments") {
$("#comments").show();
$("#edit").hide();
@@ -596,7 +596,7 @@ Post.initialize_saved_searches = function() {
}
});
- $("#save-search").click(function(e) {
+ $("#save-search").on("click.danbooru", function(e) {
$("#save-search-dialog #saved_search_query").val($("#tags").val());
if (Utility.meta("disable-labeled-saved-searches") === "false") {
@@ -636,7 +636,7 @@ Post.initialize_replace_image_dialog = function() {
$('#replace-image-dialog').dialog('close');
});
- $("#replace-image").click(function(e) {
+ $("#replace-image").on("click.danbooru", function(e) {
e.preventDefault();
$("#replace-image-dialog").dialog("open");
});
diff --git a/app/javascript/src/javascripts/related_tag.js.erb b/app/javascript/src/javascripts/related_tag.js.erb
index 6aca39e26..55acec5a0 100644
--- a/app/javascript/src/javascripts/related_tag.js.erb
+++ b/app/javascript/src/javascripts/related_tag.js.erb
@@ -6,8 +6,8 @@ let RelatedTag = {};
RelatedTag.initialize_all = function() {
if ($("#c-posts #a-show").length || $("#c-uploads #a-new").length) {
this.initialize_buttons();
- $("#upload_tag_string,#post_tag_string").keyup(RelatedTag.update_selected);
- $("body").on("click", "#artist-related-tags-column a.del", RelatedTag.disable_artist_url)
+ $("#upload_tag_string,#post_tag_string").on("keyup.danbooru.relatedTags", RelatedTag.update_selected);
+ $("#related-tags-container").on("click.danbooru", "#artist-related-tags-column a.del", RelatedTag.disable_artist_url)
}
}
@@ -16,7 +16,7 @@ RelatedTag.initialize_buttons = function() {
<% TagCategory.related_button_list.each do |category| %>
RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>"); // eslint-disable-line indent
<% end %>
- $("#find-artist-button").click(RelatedTag.find_artist);
+ $("#find-artist-button").on("click.danbooru", RelatedTag.find_artist);
}
RelatedTag.tags_include = function(name) {
@@ -25,7 +25,7 @@ RelatedTag.tags_include = function(name) {
}
RelatedTag.common_bind = function(button_name, category) {
- $(button_name).click(function(e) {
+ $(button_name).on("click.danbooru", function(e) {
var $dest = $("#related-tags");
$dest.empty();
RelatedTag.build_recent_and_frequent($dest);
@@ -216,7 +216,7 @@ RelatedTag.build_html = function(query, related_tags, name, is_wide_column) {
$link.text(tag[0].replace(/_/g, " "));
$link.addClass("tag-type-" + tag[1]);
$link.attr("href", "/posts?tags=" + encodeURIComponent(tag[0]));
- $link.click(RelatedTag.toggle_tag);
+ $link.on("click.danbooru", RelatedTag.toggle_tag);
if (RelatedTag.tags_include(tag[0])) {
$link.addClass("selected");
}
diff --git a/app/javascript/src/javascripts/responsive.js b/app/javascript/src/javascripts/responsive.js
index c5c280f22..79bd1dbe3 100644
--- a/app/javascript/src/javascripts/responsive.js
+++ b/app/javascript/src/javascripts/responsive.js
@@ -1,5 +1,5 @@
$(function() {
- $("#maintoggle").click(function() {
+ $("#maintoggle").on("click.danbooru", function() {
$('#nav').toggle();
$('#maintoggle-on').toggle();
$('#maintoggle-off').toggle();
diff --git a/app/javascript/src/javascripts/ugoira.js b/app/javascript/src/javascripts/ugoira.js
index 6fee99ef3..afc5ec02a 100644
--- a/app/javascript/src/javascripts/ugoira.js
+++ b/app/javascript/src/javascripts/ugoira.js
@@ -24,11 +24,11 @@ Ugoira.create_player = (mime_type, frames, file_url) => {
Ugoira.player = new ZipImagePlayer(options);
Ugoira.player_manually_paused = false;
- $(Ugoira.player).on("loadProgress", (ev, progress) => {
+ $(Ugoira.player).on("loadProgress.danbooru", (ev, progress) => {
$("#seek-slider").progressbar("value", Math.floor(progress * 100));
});
- $("#ugoira-play").click(e => {
+ $("#ugoira-play").on("click.danbooru", e => {
Ugoira.player.play();
$("#ugoira-play").hide();
$("#ugoira-pause").show();
@@ -36,7 +36,7 @@ Ugoira.create_player = (mime_type, frames, file_url) => {
e.preventDefault();
})
- $("#ugoira-pause").click(e => {
+ $("#ugoira-pause").on("click.danbooru", e => {
Ugoira.player.pause();
$("#ugoira-pause").hide();
$("#ugoira-play").show();
@@ -67,7 +67,7 @@ Ugoira.create_player = (mime_type, frames, file_url) => {
}
});
- $(Ugoira.player).on("frame", (frame, frame_number) => {
+ $(Ugoira.player).on("frame.danbooru", (frame, frame_number) => {
$("#seek-slider").slider("option", "value", frame_number);
});
}
diff --git a/app/javascript/src/javascripts/uploads.js b/app/javascript/src/javascripts/uploads.js
index 84f0a7390..4d1664061 100644
--- a/app/javascript/src/javascripts/uploads.js
+++ b/app/javascript/src/javascripts/uploads.js
@@ -13,14 +13,14 @@ Upload.initialize_all = function() {
if ($("#image").prop("complete")) {
this.initialize_image();
} else {
- $("#image").on("load error", this.initialize_image);
+ $("#image").on("load.danbooru error.danbooru", this.initialize_image);
}
this.initialize_info_bookmarklet();
this.initialize_similar();
this.initialize_submit();
$("#related-tags-button").trigger("click");
- $("#toggle-artist-commentary").click(function(e) {
+ $("#toggle-artist-commentary").on("click.danbooru", function(e) {
Upload.toggle_commentary();
e.preventDefault();
});
@@ -32,25 +32,27 @@ Upload.initialize_all = function() {
}
Upload.initialize_submit = function() {
- $("#form").submit(function(e) {
- var error_messages = [];
- if (($("#upload_file").val() === "") && ($("#upload_source").val() === "") && $("#upload_md5_confirmation").val() === "") {
- error_messages.push("Must choose file or specify source");
- }
- if (!$("#upload_rating_s").prop("checked") && !$("#upload_rating_q").prop("checked") && !$("#upload_rating_e").prop("checked") &&
- ($("#upload_tag_string").val().search(/\brating:[sqe]/i) < 0)) {
- error_messages.push("Must specify a rating");
- }
- if (error_messages.length === 0) {
- $("#submit-button").prop("disabled", "true");
- $("#submit-button").prop("value", "Submitting...");
- $("#client-errors").hide();
- } else {
- $("#client-errors").html("Error: " + error_messages.join(", "));
- $("#client-errors").show();
- e.preventDefault();
- }
- });
+ $("#form").on("submit.danbooru", Upload.validate_upload);
+}
+
+Upload.validate_upload = function (e) {
+ var error_messages = [];
+ if (($("#upload_file").val() === "") && ($("#upload_source").val() === "") && $("#upload_md5_confirmation").val() === "") {
+ error_messages.push("Must choose file or specify source");
+ }
+ if (!$("#upload_rating_s").prop("checked") && !$("#upload_rating_q").prop("checked") && !$("#upload_rating_e").prop("checked") &&
+ ($("#upload_tag_string").val().search(/\brating:[sqe]/i) < 0)) {
+ error_messages.push("Must specify a rating");
+ }
+ if (error_messages.length === 0) {
+ $("#submit-button").prop("disabled", "true");
+ $("#submit-button").prop("value", "Submitting...");
+ $("#client-errors").hide();
+ } else {
+ $("#client-errors").html("Error: " + error_messages.join(", "));
+ $("#client-errors").show();
+ e.preventDefault();
+ }
}
Upload.initialize_iqdb_source = function() {
@@ -70,14 +72,14 @@ Upload.initialize_enter_on_tags = function() {
}
Upload.initialize_similar = function() {
- $("#similar-button").click(function(e) {
+ $("#similar-button").on("click.danbooru", function(e) {
$.get("/iqdb_queries", {"url": $("#upload_source").val()}).done(function(html) {$("#iqdb-similar").html(html).show()});
e.preventDefault();
});
}
Upload.initialize_info_bookmarklet = function() {
- $("#upload_source").change(function (e) {
+ $("#upload_source").on("change.danbooru", function (e) {
$("#fetch-data-manual").click();
});
@@ -85,7 +87,7 @@ Upload.initialize_info_bookmarklet = function() {
}
Upload.initialize_info_manual = function() {
- $("#fetch-data-manual").click(function(e) {
+ $("#fetch-data-manual").on("click.danbooru", function(e) {
var source = $("#upload_source,#post_source").val();
var referer = $("#upload_referer_url").val();
@@ -178,7 +180,7 @@ Upload.initialize_image = function() {
Post.resize_image_to_window($image);
Post.initialize_post_image_resize_to_window_link();
Upload.update_scale();
- $("#image-resize-to-window-link").click(Upload.update_scale);
+ $("#image-resize-to-window-link").on("click.danbooru", Upload.update_scale);
}
Upload.toggle_commentary = function() {