I've just found a workaround that might help in some cases.
Notice, that document and scrollable elements are always scrolling to the next searched occurrence - we can take advantage of that and create an "hidden" scrollable element and wait for it to scroll.
When it scrolls you can then read the position to which it scrolled and get matched word.
http://jsfiddle.net/oz6gum90/6/
HTML:
<div id="hiddenScrollableContent">
<div></div> <!-- first element must be empty -->
<div>car</div>
<div>cat</div>
...
</div>
CSS:
#hiddenScrollableContent{
overflow: scroll;
position:absolute;
height:20px; /* can't be zero ! */
opacity:0.01; /* can't be zero ! */
pointer-events: none;
}
#hiddenScrollableContent div{
height: 100px;
}
JS:
$('#hiddenScrollableContent').scroll(function(e){
var top = $(this).scrollTop();
if (top==0)
return; //prevents endless loop
var index = Math.round(top / 100);
var element = $('div', this).eq(index);
var elementsText = element.text();
$(this).scrollTop(0);
console.log('top:'+top, 'index:'+index);
$('span').text(elementsText);
});