9

テキストエリアがあり、カーソルが最初または最後にあるかどうかを確認したい(現在の位置は必要ありません)。
簡単なjQueryソリューションを知っている人はいますか?

前もって感謝します!
ピーター

4

2 に答える 2

8

<input type="text">テキストエリアではなく、jQuery 以外のソリューション (jQuery コードで引き続き使用できます)を意味すると仮定すると、次のようになります。ほとんどの場合、jQuery プラグインよりもコードが少なくなります。

2011 年 11 月 12 日更新

そうは言っても、私は彼の種類のタスクのためだけに jQuery プラグインを開発しましたが、実際には以下のコードよりも大きくなっています。

var textInput = document.getElementById("your_id"), val = textInput.value;
var isAtStart = false, isAtEnd = false;
if (typeof textInput.selectionStart == "number") {
    // Non-IE browsers
    isAtStart = (textInput.selectionStart == 0);
    isAtEnd = (textInput.selectionEnd == val.length);
} else if (document.selection && document.selection.createRange) {
    // IE <= 8 branch
    textInput.focus();
    var selRange = document.selection.createRange();
    var inputRange = textInput.createTextRange();
    var inputSelRange = inputRange.duplicate();
    inputSelRange.moveToBookmark(selRange.getBookmark());
    isAtStart = inputSelRange.compareEndPoints("StartToStart", inputRange) == 0;
    isAtEnd = inputSelRange.compareEndPoints("EndToEnd", inputRange) == 0;
}

alert("At start: " + isAtStart + ", at end: " + isAtEnd);
于 2010-10-11T09:03:55.553 に答える
2

はい、このすばらしい jQuery プラグインを使用してください。

さらに情報が必要ですか? さらに質問がある場合は、ここに戻ってきてください :)

更新
プラグインに関連付けられた元のブログ投稿はダウンしています。

ウェイバックマシンのすごいパワーのおかげで、今でも見ることができます。

http://web.archive.org/web/20080620163228/http://blog.0xab.cd/jquery-plugin---fieldselection

神、私はそのウェブサイトが大好きです。

于 2010-10-11T08:17:04.657 に答える