zoukankan      html  css  js  c++  java
  • 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>

    效果图一(默认状态):

    效果图二(添加链接):

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

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

  • 相关阅读:
    Python 规范
    Hql
    Python
    IIS 日志分析
    NHibernate 知识点整理
    微软开放了.NET 4.5.1的源代码
    自定义消息编码绑定实现
    使用自定义绑定
    WCF安全:通过 扩展实现用户名密码认证
    WCF 几种错误
  • 原文地址:https://www.cnblogs.com/Zjmainstay/p/jquery_click_to_text.html
Copyright © 2011-2022 走看看