jQuery:获取输入选择范围
jQuery中是否有任何事件可以监听输入选择?
例如,假设我在文本输入中编写了foo_bar
。 然后我用鼠标选择单词foo。 所以事件应该返回0, 2
( foo
的字符串位置)。
有没有可能的方法来实现这一目标? 我不知道从哪里开始,我正在翻转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()); });