Не работает функция indexOf
Здравствуйте. Есть определенная строка, которая формируется исходя из текста, который выделил пользователь. Хочу найти позицию в тексте, с которой начинается эта строка. Делаю так:
$(document).ready(function(){ var txt=''; $('#brief').select(function(eventObject){ if (window.getSelection){ txt = window.getSelection(); } else if (document.getSelection){ txt = document.getSelection(); } else if (document.selection){ txt = document.selection.createRange().text; } var a = txt.indexOf(txt); alert(a); }) }); |
Цитата:
бред какой то. может вы хотели так var a = this.textContent.indexOf(txt); |
FaNaT_96,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ function getCaretPos(element) { element.focus(); if (document.selection) { var sel = document.selection.createRange(); var clone = sel.duplicate(); sel.collapse(true); clone.moveToElementText(element); clone.setEndPoint('EndToEnd', sel); return clone.text.length; } else { return window.getSelection().getRangeAt(0).startOffset; } return 0; } $('#brief').mouseup(function(){ alert(getCaretPos(this) ); }) }) </script> </head> <body> <p id="brief" >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut optime, secundum naturam affectum esse possit. Dulce amarum, leve asperum, prope longe, stare movere, quadratum rotundum. Sin laboramus, quis est, qui alienae modum statuat industriae? Duo Reges: constructio interrete. </p> </body> </html> |
Часовой пояс GMT +3, время: 21:49. |