jQuery:获取输入选择范围

jQuery中是否有任何事件可以监听输入选择?

例如,假设我在文本输入中编写了foo_bar 。 然后我用鼠标选择单词foo。 所以事件应该返回0, 2foo的字符串位置)。

有没有可能的方法来实现这一目标? 我不知道从哪里开始,我正在翻转jQuery API页面,但似乎无法找到任何有用的东西。

我虽然在输入上听mousedown事件,然后以某种方式检索点击发生的字符串的位置(不确定它是否可能)然后获取鼠标发生的位置。

任何信息,来源或示例都将受到欢迎。

编辑:

 $('#foo').select(function(e) { var start = e.target.selectionStart; var end = e.target.selectionEnd; console.log('Changed: ' + start + ' to ' + end); }); 

演示: http //jsfiddle.net/ZyDjV/1/


您可以使用select事件:

 $('#foo').select(function(e) { console.log('Selection Changed'); }); 

演示 : http : //jsfiddle.net/ZyDjV/

见: http : //jsfiddle.net/rT5vR/

 var getSelected = function(){ var t = ''; if(window.getSelection) { t = window.getSelection(); } else if(document.getSelection) { t = document.getSelection(); } else if(document.selection) { t = document.selection.createRange().text; } return t; } $("#myElement").select(function(eventObject) { alert(getSelected().toString()); });