diff options
| author | 2019-04-02 22:46:56 +0200 | |
|---|---|---|
| committer | 2019-04-02 22:46:56 +0200 | |
| commit | 8599dc29a17da3bdb7fdb264cadc0944f44d9eaf (patch) | |
| tree | 29b3b44a42e9c96240e183d8216c3a0ae6335446 | |
| parent | 4599d171df48b16eb6f985291c47c97c1ae5dd01 (diff) | |
Fix control click (#2330)
https://github.com/FreshRSS/FreshRSS/issues/2310
| -rw-r--r-- | p/scripts/main.js | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/p/scripts/main.js b/p/scripts/main.js index 04bf50c81..e8b5dbd4f 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -891,21 +891,28 @@ function init_stream(stream) { } }; - stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click + stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click, and control+click in IE/Edge + if (ev.altKey || ev.metaKey || ev.shiftKey) { + return; + } + let el = ev.target.closest('.item.title > a'); if (el) { - if (ev.ctrlKey) { - return; // CTRL+click, it will be manage by previous rule. - } - if (ev.which == 2) { - // If middle click, we want same behaviour as CTRL+click. - const evc = document.createEvent('click'); - evc.ctrlKey = true; - el.dispatchEvent(evc); - } else if (ev.which == 1) { - // Normal click, just toggle article. - el.parentElement.click(); + if (ev.which == 1) { + if (ev.ctrlKey) { //Control+click + if (context.auto_mark_site) { + mark_read(el.closest('.flux'), true); + } + } else { + el.parentElement.click(); //Normal click, just toggle article. + } + } else if (ev.which == 2 && !ev.ctrlKey) { //Simple middle click: same behaviour as CTRL+click + if (context.auto_mark_article) { + const new_active = el.closest('.flux'); + mark_read(new_active, true); + } } + return; } if (context.auto_mark_site) { |
