您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Ao3 menu dropdowns are no longer visible at hover, you have to click the main menu entry instead
- // ==UserScript==
- // @name AO3: Disable Hover in Main Menu
- // @description Ao3 menu dropdowns are no longer visible at hover, you have to click the main menu entry instead
- // @version 1.2
- // @author escctrl
- // @namespace https://greasyfork.org/en/users/906106-escctrl
- // @match https://archiveofourown.org/*
- // @require https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function($) {
- 'use strict';
- // AO3 menu seems to be built with Bootstrap JS, based on existance of data-* attributes
- // AO3 has CSS (#header .dropdown:hover .menu {display: block}) to make dropdown-on-hover work, but CSS override meant clicking wouldn't show menu anymore either ¯\_(ツ)_/¯
- // hack inspired by this comment: https://stackoverflow.com/a/19191435/22187458
- // this combo (mouse-in and mouse-out both hide the dropdown and reset the Bootstrap class) gives the most predictable experience if the pointer moves back and forth across all menu entries without clicking anywhere
- //// when a li.dropdown is being hovered over
- $('#header ul.navigation.actions li.dropdown').hover(function() {
- // Ao3 CSS tries to show its ul.dropdown-menu entries -> we force-hide it again with JS
- $(this).find('.dropdown-menu').hide();
- // when mouse away, dropdown still closes -> reset the Bootstrap class so next click opens dropdown again
- $(this).removeClass('open');
- });
- })(jQuery);