How to capture iOS Safari event on text selection

2019-02-13 07:37发布

问题:

Following scenario: When selecting text on iOS Safari (lets assume a "normal" html page) an blue overlay occurs, indicating that you have selected a specific passage. Furthermore, you are able to change that selection, in order to correct your initial selection area. I'm interested in capturing exactly that event, when selection area change is done. Is it possible (when yes, how?) to catch such an event within Javascript? Thx in advance.

回答1:

Mobile Safari supports the selectionchange event, which fires on Document nodes:

document.addEventListener("selectionchange", function() {
    alert("Selection changed!");
}, false);


回答2:

I've found that this event fires multiple times even on a single word selection (with a tap), and of course it fires when you drag the selection handles ...

I created a small workaround to get only the text selection end event.

you can see it here: End of text selection event?

or in a small post on my blog: http://www.dimshik.com/end-of-text-selection-event-on-ios-workaround/