Знаете ли вы самый эффективный способ выделить слово и добавить событие onmouseover?Выделите слова мышью над
У меня есть текст, и я хочу сделать somekind из поля объяснения слов, поэтому, когда пользователь наводил курсор на слово, я вызываю AJAX в словарь и показываю ему смысл.
У меня есть две идеи: 1) Прежде чем показывать текст, поместите каждое слово в <span onmouseon="my_foo("word");">
обертку. Например:
<span onmouseon="my_foo("Hello");">Hello</span>
<span onmouseon="my_foo("world");">world</span>
Но я думаю, что это будет серьезно перегрузить страницу.
2) Когда пользователь удерживает курсор более 0,5 секунды в одной области, я получаю координаты указателя, вычисляю, какое слово отображается (я не знаю, если это возможно) и выполняйте вызов AJAX.
Как вы думаете, лучше ли, проще код?
Я не думаю, что 2 возможно из-за различий между рендеринга шрифтов в разных браузерах. вы никогда не узнаете, какое именно слово оно было. Я бы обернул все либо на стороне сервера. или onLoad обернуть все в промежутках. При наведении любого диапазона с этим классом возможен аякс-вызов –
2. Но вы столкнетесь с проблемами для разных браузеров. Я реализовал такую же функцию аннотации. Это было тяжело. для 1 есть лучший способ определения функции события, вы можете получить внутренний текст диапазона, поэтому вам не нужно помещать строку внутри каждого вызова. –
Как насчет производительности в случае 1? Было ли это хорошо? Например, текст из 5000 слов. – Tigran