粘贴时jQuery点击事件不保留文本框值

时间:2015-05-13 02:10:24

标签: jquery

我有一个id为“websiteaddress”的文本框和一个id为“getwebsiteinfo”的按钮。当某些东西被粘贴到文本框中时,我想要触发按钮的click事件,它可以正常工作,但文本框会丢失其中发布的内容。这是我的代码。关于如何让这个工作的任何想法?

    <script type="text/javascript" charset="UTF-8">
                    $(document).ready(function() {
                        $("input#websiteaddress").bind("paste", function() {
                            $("input#getwebsiteinfo").click();
                            return true;
                        });
                    }); 
                </script>

2 个答案:

答案 0 :(得分:0)

这是一个工作示例。我的文本框与您的文本框没有相同的问题,它保留了文本。我确实遇到了点击事件无法抓取粘贴文本的问题,所以我添加了一个settimeout函数,以便有时间获取新值。

JSFIDDLE http://jsfiddle.net/seadonk/vuh7qd4q/

   $().ready(function () {
    $("input#getwebsiteinfo").click(function(){
        setTimeout(function(){         
            var websiteaddress = $("input#websiteaddress").val();   
            alert('BUTTON CLICK: websiteaddress');
        });
    });

    $("input#websiteaddress").bind("paste", function () {
        $("input#getwebsiteinfo").click();
    });
});

答案 1 :(得分:0)

将一个setTimeout添加到粘贴事件中就可以了,如下所示:

    $(document).ready(function() {
            $("input#websiteaddress").bind("paste", function() {
                setTimeout(function() { 
                    $("input#getwebsiteinfo").click();
                });
                return true;
            });
        });