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="http://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>

效果图一(默认状态):

效果图二(添加链接):

效果图三(删除百度链接):

当全部链接被删除时,自动回复效果图一中的提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值