繁体   English   中英

JQuery HTML onclick 按钮上的属性在 Ajax 加载后不起作用

[英]JQuery HTML onclick attribute on button not working after Ajax load

我有以下按钮,它是通过 Ajax 从 PHP 代码加载的。 该按钮有一个 onclick 属性到一个名为 viewImage 的 function。 Ajax 请求在 function loadImages 内每 5 秒发出一次。

来自 get.php 页面的按钮(不是完整代码,因为我认为不需要它,因为我认为这是 JQuery 问题):

<button onclick="viewImage(<?php echo $imageID; ?>)" id="watch" class="btn btn-outline-warning">VIEW</button>

JS/Ajax 功能:

function viewImage(imageID) {
  $.ajax({
    type: "POST",
    url: "./php/images/view.php",
    data: {imageID: imageID},
    success: function() {
        loadImage();
    }
  });
}

function loadImage() {
   $('#images').load('./php/images/get.php', function(){
     setTimeout(loadImage, 5000);
   });
};

问题是,有时在加载 Ajax 后,我几乎无法点击按钮重定向到 function。 我需要单击几次才能正常工作,因为按钮一直闪烁/闪烁,如您在此处看到的

.

这只发生在几次(2 到 4 次)ajax 加载之后。

我删除了按钮的 CSS 样式,它停止闪烁/闪烁,但我仍然需要单击它几次才能工作。

所有文件、函数和变量(例如 $imageID)都被正确引用。 一切正常,除了上面提到的这个问题。

有人能帮我吗?

loadImage function 不需要额外的超时,因为它只是在服务器响应 AJAX 调用后才调用,所以loadImage调用应该是同步的。 添加超时将有效地使此调用异步,并且在多次单击后,异步 AJAX 调用将开始与异步图像加载调用发生冲突 - 这就是您所观察到的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM