5

入力選択をリッスンするイベントはjQueryにありますか?

foo_barたとえば、テキスト入力で書いたとしましょう。次に、マウスでfooという単語を選択します。したがって、イベントは戻る必要が0, 2あります(の文字列位置foo)。

これを達成するための可能な方法はありますか?どこから始めればよいのかわかりません。troughtjQueryAPIページをめくっていますが、役立つものが見つからないようです。

入力でイベントをリッスンしてから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 に答える