【问题标题】:Javascript Check if Image is Selected on ClickJavascript检查单击时是否选择了图像
【发布时间】:2018-08-30 03:27:30
【问题描述】:

我正在构建一个所见即所得的编辑器,如果选择范围包含图像,则需要检查用户是否单击图像。有没有办法在不向图像添加事件处理程序的情况下检测到这一点?!我正在检查 keyup 和 mouseup 并能够检测是否使用 Tim Down 的 getselectedtext() 函数选择了文本,并且想通过检查选择是否包含 el.nodeName 来检查所选范围是否是图像标签或其他东西。

如果使用 Tim Down 的 getselectedtext() 函数完全突出显示图像,我可以检测到图像,但如果只是单击图像(每个角上有四个正方形)而不是在拖动鼠标后以蓝色突出显示,则不会返回任何内容穿过它。有任何想法吗?请纯JS。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    好的,在整个文档上放一个监听器(只需要附加一次监听器),然后检查event.target(被点击的元素)是否为图像。

    document.body.addEventListener('click', (event) => {
      if (event.target.tagName === 'IMG') {
        console.log('image clicked');
      }
    });
    <div>content</div>
    <img src="https://www.gravatar.com/avatar/34932d3e923ffad9a4a1423e30b1d9fc?s=48&d=identicon&r=PG&f=1">
    <div>more content</div>

    【讨论】:

      猜你喜欢
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 2022-11-20
      • 2022-01-15
      • 1970-01-01
      • 2011-10-16
      相关资源
      最近更新 更多