Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery/javascript中重复/多次下载onkeyup事件_Javascript_Jquery_Image - Fatal编程技术网

jquery/javascript中重复/多次下载onkeyup事件

jquery/javascript中重复/多次下载onkeyup事件,javascript,jquery,image,Javascript,Jquery,Image,如果我的输入框包含URL(例如http://kotaku.com/some-article)通过paste()&keyup()my CURL将获得该特定网站的标题、说明和图像,然后将其插入我的#内容中 POST-AJAX $("input").on({ 'paste': function() { var content; if (...) { $.post("curlfetch.php?url="+ url, { }, function(response){

如果我的输入框包含URL(例如
http://kotaku.com/some-article
)通过
paste()
&
keyup()
my CURL将获得该特定网站的标题、说明和图像,然后将其插入我的
#内容中

POST-AJAX

$("input").on({
'paste': function() {
 var content;
    if (...) {
      $.post("curlfetch.php?url="+ url, {
      }, function(response){
      content = response;
      $('#content').html(response);
},
'keyup': function() {
    if (...) {
       $('#content').html(content);
    }
});
返回的数据

<div id="image"><img src ... /> </div>
<div id="title"> some title... </div>
<div id="desc"> some text... </div>
它很好用

我只是在每次
keyup()
事件中重复下载图像。我如何防止这样做,或者如何正确地进行故障排除

注:
var含量
用于存储CURL返回的数据,只需在
keyup()事件中访问它即可。因此,我不必再要求另一个
$post
来curl

如果我的解释有点模糊,我很抱歉。

使用
$('content').html(content)您不断地将图像重新插入DOM。根据您的浏览器和服务器设置,这可能会缓存,也可能不会缓存

最坏的情况是缓存不存在,因此每次调用keyup时都会重新下载图像,因为
$('#content').html(content)
清空
#content
元素,然后将图像重新写入其中

如果存在缓存,您仍然会收到对映像的重复调用,但是在network inspector工具中看不到下载数据的聚合


理想情况下,应用程序不应该在每次按键时更新文档片段图像。您应该找到一种方法,只针对您绝对需要更新的元素,并检查您的浏览器和服务器设置,以确保可以正确缓存图像。

因为它处于更改中,所以无论您键入什么内容,它都会尝试获取内容。抱歉,但我不太明白您的意思。它重复获取图像,文本(title/desc)不受此影响。所以我不明白为什么它只发生在我的照片上
 <!-- <div id="image"><img src ... /> </div> -->
    <div id="title"> some title... </div>
    <div id="desc"> some text... </div>