リンクのテキストを選択
- id:Griever:20100417:1271495677
Greasemonkey にしたくて、Bookmarklet のほうをコピーしました。
比較演算子とブロックの中括弧はいじって、while (node = node.parentNode) な書き方も変えた。好みの問題。
// ==UserScript== // @name Select text of link // @namespace http://kgr.s56.xrea.com/userscripts/ // @include * // ==/UserScript== (function() { document.addEventListener('mousedown', function(e) { if (e.button !== 0 || e.ctrlKey || e.shiftKey || e.altKey) { return; } var node = e.explicitOriginalTarget; if (node.nodeType !== node.TEXT_NODE) { return; } do { if (typeof node.hasAttribute === 'function' && node.hasAttribute('href')) { break; } node = node.parentNode; } while (node); if (!node) { return; } e.stopPropagation(); node.setAttribute('draggable', 'false'); document.addEventListener('mouseup', function mouseup(e) { document.removeEventListener(e.type, arguments.callee, true); node.removeAttribute('draggable'); if (!window.getSelection().isCollapsed) { document.addEventListener('click', function click(e) { document.removeEventListener(e.type, arguments.callee, true); e.preventDefault(); e.stopPropagation(); }, true); } }, true); }, true); })();
少し修正。... node = node.parentNode; } while (node.parentNode); とやってしまっていた。