jQuery单击双击实现链接的提取、插入与删除
canrun
点击链接插入链接内容。
亮点:
1.正则匹配<a>标签。
2.jQuery单击添加,双击删除。
3.textarea加入换行。
View Code
<html> <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="https://files.cnblogs.com/Zjmainstay/jquery-1.6.2.min.js"></script> </head> <body> <div id="clickContain"> <a href="http://www.cnblogs.com">博客园</a> <a href="http://www.baidu.com">百度</a> <a href="http://www.qq.com">QQ</a> <a href="http://www.sina.com.cn">新浪</a> </div> <div id="textContain"> <textarea rows="10" cols="50" def-v="单击添加,双击删除">单击添加,双击删除</textarea> </div> <script type="text/javascript"> $(document).ready(function(){ var textareaContain = $("#textContain textarea").eq(0); //单击插入链接 $("#clickContain a").click(function(){ var pattern = eval('/'+textareaContain.attr('def-v')+'/i'); textareaContain.val(textareaContain.val().replace('单击添加,双击删除','')); 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,'')); if(textareaContain.val() == '')textareaContain.val(textareaContain.attr('def-v')); return false; }); }); </script> </body> </html>
效果图一(默认状态):
效果图二(添加链接):
效果图三(删除百度链接):
当全部链接被删除时,自动回复效果图一中的提示。