jQuery往textarea中游標所在位置插入文本的方法

來源:互聯網
上載者:User

jQuery往textarea中游標所在位置插入文本的方法

   本文執行個體講述了jQuery往textarea中游標所在位置插入文本的方法。分享給大家供大家參考。具體實現方法如下:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

<html>

<head>

<script src="jquery-1.8.1.min.js"></script>

<script >

$(function() {

/* 在textarea處插入文本--Start */

(function($) {

$.fn.extend({

insertContent : function(myValue, t) {

var $t = $(this)[0];

if (document.selection) { // ie

this.focus();

var sel = document.selection.createRange();

sel.text = myValue;

this.focus();

sel.moveStart('character', -l);

var wee = sel.text.length;

if (arguments.length == 2) {

var l = $t.value.length;

sel.moveEnd("character", wee + t);

t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart( "character", wee - t - myValue.length);

sel.select();

}

} else if ($t.selectionStart

|| $t.selectionStart == '0') {

var startPos = $t.selectionStart;

var endPos = $t.selectionEnd;

var scrollTop = $t.scrollTop;

$t.value = $t.value.substring(0, startPos)

+ myValue

+ $t.value.substring(endPos,$t.value.length);

this.focus();

$t.selectionStart = startPos + myValue.length;

$t.selectionEnd = startPos + myValue.length;

$t.scrollTop = scrollTop;

if (arguments.length == 2) {

$t.setSelectionRange(startPos - t,

$t.selectionEnd + t);

this.focus();

}

} else {

this.value += myValue;

this.focus();

}

}

})

})(jQuery);

/* 在textarea處插入文本--Ending */

});

$(document).ready(function(){

$("#ch_button").click( function () {

$("#test_in").insertContent("<upload/day_140627/201406271546349972.jpg>");

});

});

</script>

</head>

<body >

<button id="ch_button" value="插入" >插入</button>

<textarea name="content" id="test_in" rows="30" cols="100">

</textarea>

</body>

</html>

  希望本文所述對大家的jQuery程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.