jQuery中是否有任何事件可以监听输入选择?
例如,假设我在文本输入中写了foo_bar
。然后我用鼠标选择单词foo。因此,事件应返回0, 2
(foo
的字符串位置)。
有没有办法实现这个目标?我不知道从哪里开始,我正在翻转jQuery API页面,但似乎找不到任何有用的东西。
我虽然在输入上监听mousedown
个事件,然后以某种方式检索发生点击的字符串的位置(不确定它是否可能),然后获取mouseup
的位置发生了。
欢迎任何信息,来源或示例。
答案 0 :(得分:8)
修改强>
$('#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/
您可以使用选择事件:
$('#foo').select(function(e) {
console.log('Selection Changed');
});
答案 1 :(得分:2)
请参阅: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());
});