0

我可以showPreview选择在我的网站上输入 URL,就像 Facebook 显示 URL 的预览一样。

当用户输入 url 时,以下条件得到验证:

$('#text').keyup(function(e) {
            allowPosting = true;
    if ((e.which === 13 || e.which === 32 || e.which === 17) && trim($(this).val()) !== "") 
}

关键代码:

13 - Enter
45 - Insert
17 - control

现在,当用户复制并粘贴 URL从预览中选择 URL 并按 Enter 键时,将调用该函数

我想要的是:

如果用户键入 URL,则应显示预览,即使用户没有按 Enter 键或复制并粘贴 URL。

我应该怎么办?

4

3 回答 3

1

每次键入后检查 .val(),不仅在 Enter 上,如果它是 URL,则执行其余操作

于 2013-10-28T18:09:59.530 回答
1

这是您的代码,它将完成您编写的所有操作:

 $('#text').keyup(function(e) {
    allowPosting = true;
    if (/(^|\s)((http:\/\/|https:\/\/)[a-zA-Z0-9!*'();:@&=+$,\/?#[\]\-_.~]+)/.test($("#text").val()) && trim($(this).val()) !== "")
    {
        // DO STUFF
    }
}); 

它还会检查输入是否为链接,以便用户可以输入“ http://google.com/ ”而不是“asdf”!

于 2013-10-28T18:11:13.137 回答
1

尝试更改代替 keyup :

$('#text').change(function(){...});
于 2013-10-28T18:11:44.377 回答