pre要素をダブルクリックで選択する
// ==UserScript== // @name BetterDoubleClick // @namespace http://d.hatena.ne.jp/javascripter/ // @include http* // ==/UserScript== document.addEventListener("dblclick", function({target: elem}){ elem = document.evaluate( "ancestor-or-self::code|ancestor-or-self::pre", elem, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if(!elem) return; window.getSelection().selectAllChildren(elem); }, false);
XPathの部分は
do if(/code/i.test(elem.localName)) break; while(elem = elem.parentNode);
みたいに書いてもいい。