5

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

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

有没有办法做到这一点?我不知道从哪里开始,我正在翻阅 jQuery API 页面,但似乎找不到任何有用的东西。

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

欢迎任何信息、来源或示例。

4

2 回答 2

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/


您可以为此使用select事件:

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

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

于 2012-12-13T07:37:15.827 回答
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());
});

​</p>

于 2012-12-13T07:41:54.833 回答