點擊鏈接插入鏈接內容。
亮點:
1.正則匹配<a>標記。
2.jQuery單擊添加,雙擊刪除。
3.textarea加入換行。
核心代碼:
. 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Click to Text</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<script type="text/javascript" src="http://demo.jb51.net/jslib/jquery/jquery-1.6.2.min.js"></script>
</head>
<body>
<div id="clickContain">
<a href="http://www.jb51.net"></a>
<a href="http://www.baidu.com">百度</a>
<a href="http://www.qq.com">QQ</a>
<a href="http://www.sina.com.cn">新浪</a>
<a href="http://www.sina.com.cn">abc</a>
</div>
<div id="textContain">
<textarea rows="10" cols="50"></textarea>
</div>
<script type="text/javascript">
$(document).ready(function(){
var textareaContain = $("#textContain textarea").eq(0);
//單擊插入鏈接
$("#clickContain a").click(function(){
if(!$(this).hasClass('lock')) {
var p = eval('/<a(?:.*)'+$(this).html()+'(?:.*)a>/i');
var addString = $(this).parent().html().match(p); //正則提取<a>標簽
if(!!addString) addString = addString[0]+'\n'; //正則匹配後的[0]是全部匹配的值,加入換行\n
textareaContain.val(textareaContain.val()+addString);
$(this).addClass('lock'); //阻止第二次點擊
}
return false;
});
//雙擊刪除鏈接
$("#clickContain a").dblclick(function(){
$(this).attr('class',null); //刪除整個class屬性,以免出現class=""
var p = eval('/<a(?:.*)'+$(this).html()+'(?:.*)a>(\\n*)/gi');
textareaContain.val(textareaContain.val().replace(p,''));
return false;
});
});
</script>
</body>
</html>
作者:Zjmainstay
出處:http://www.cnblogs.com/Zjmainstay/