自分のJavaScriptの知識のなさを実感した。
まぁ、それはいいとして
JavaScriptでテキストボックスの選択文字列を取得する方法
jQueryとピュアなJavaScriptで試した。
そんなにやることは変わらない。
ピュアなJavaScript
function isSelectedText(obj){
var selStart = obj[0].selectionStart;
var selEnd = obj[0].selectionEnd;
console.log(selStart);
console.log(selEnd);
if(selStart != -1 && selEnd != -1 && selStart != selEnd){
return true;
}else{
return false;
}
}
function getSelectedText(obj){
var selStart = obj[0].selectionStart;
var selEnd = obj[0].selectionEnd;
var val = obj[0].value;
return val.substring(selStart, selEnd);
}
コチラはjQuery。
再利用したいのでextendで実装。
$.fn.extend({
/**
* 選択中のテキストを取得します
*/
getSelectedText:function(){
var selStart = $(this)[0].selectionStart;
var selEnd = $(this)[0].selectionEnd;
var val = $(this).val();
return val.substring(selStart, selEnd);
}
/**
* 選択中かどうかを確認する
*/
,isSelectedText:function(){
var selStart = $(this)[0].selectionStart;
var selEnd = $(this)[0].selectionEnd;
console.log(selStart);
console.log(selEnd);
if(selStart != -1 && selEnd != -1 && selStart != selEnd){
return true;
}else{
return false;
}
}
});
ピュアなJavaScriptもjQuery使った時も、オブジェクトの要素0にアクセスるのがポイントなんですねー。

(1.00 / 1)
(0.00 / 1)