javascript - 单击时捕获 div

标签 javascript jquery html html2canvas

我想在我有多个具有相同类名的 div 的环境中使用 jquery 和 HTML2Canvas 库单击它时捕获 div 元素。

这是一个控制台页面,我想在该页面上为用户提供一个额外的选择来捕获或不捕获 div,每个人都不要在意我正在使用的事件监听器。

$('.panel.panel-default', this).one("mouseenter", function() {
  html2canvas(document.getElementsByClassName("panel panel-default")).then(canvas => {
    //document.body.appendChild(canvas);
    var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");  
    console.log(image);  
    window.location.href = image;
  })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="panel panel-default">
  <div class="panel-body">
    <a> this is panel one</a><br><br>
  </div>
</div>
<div class="panel panel-default">
  <div class="panel-body">
    <a> this is panel two</a><br><br>
  </div>
</div>
<div class="panel panel-default">
  <div class="panel-body">
    <a> this is panel three</a><br><br>
  </div>
</div>

实际结果应该是当我点击 this is panel one 时事件会将那个 div 捕获到文件中。

最佳答案

你只需要传递正确的上下文

  $('.panel-body').on("click", function () {
        html2canvas(this).then(canvas => {
            //document.body.appendChild(canvas);
            var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
            console.log(image);
            window.location.href = image;
        })
    });

关于javascript - 单击时捕获 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56086632/

相关文章:

javascript - slider 更改处理程序

javascript - HTML 将两个 IMG 标签合并为一个

javascript - fabricjs中填充图像的对象的透视变换

javascript - 如何让我的 slider 水平居中?

javascript - 带有 protractorjs 的 Angular 2 失败 : Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"

javascript - 如何将 JSON 数据保存到 JavaScript 中的变量

Jquery - 获取div中的最新元素

javascript - 单击显示 div,其余背景模糊

html - 需要有关使用 C 编写 CGI 脚本的帮助

javascript - select2如何获取默认值