js trigger click event & dispatchEvent & svg element

but svg element not support trigger click event in js

dispatchEvent & click event

https://stackoverflow.com/questions/49834459/programmatically-trigger-click-event-in-svg-rect-element

svg dom

// dom.click();
dom.dispatchEvent(new Event('click'));

OK

      deleteSVGData(`polygons`);
window.svgPolygon = {};
polygons.forEach((poly, i) => {
const polygon = new PolygonConvert(poly, i, svg, this.svgEventBus);
polygon.bindEvents();
// const uuid = polygon.uuid;
const uuid = polygon.getUuid();
log(`polygon uuid`, polygon, polygon.uuid, poly.getAttribute(`uuid`), uuid);
const arr = getSVGData(`polygons`) || [];
arr.push(uuid);
window.svgPolygon[uuid] = poly;
// DOM Object stringify bug
// arr.push({
// uuid: uuid,
// dom: poly,
// });
log(`arr`, arr);
setSVGData(`polygons`, arr);
setTimeout(() => {
const arr = getSVGData(`polygons`) || [];
const uuid = arr[0];
log(`arr[0]`, arr[0], uuid);
const dom = window.svgPolygon[uuid];
// why ? svg element not support trigger click event!
// dom.click();
dom.dispatchEvent(new Event('click'));
}, 3000)
// this.lockEditor();
// setTimeout(() => {
// polygon.scaleSize(1.5);
// }, 3000);
// setTimeout(() => {
// polygon.translatePoints(100, 100);
// }, 3000);
});

error


css pointer-events

maybe it's help

/* disabled svg click event */

svg {
pointer-events: none;
} /* enabled svg click event */
svg {
pointer-events: all;
}

https://github.com/angular/protractor/issues/4495#issuecomment-586598840

https://www.smashingmagazine.com/2018/05/svg-interaction-pointer-events-property/


CustomEvent


let event = new CustomEvent(
"newMessage",
{
detail: {
message: "Hello World!",
time: new Date(),
},
bubbles: true,
cancelable: true
}
); // global html
document.querySelector(`:root`).dispatchEvent(event);
// document.querySelector(`html`).dispatchEvent(event);
// document.querySelector(`body`).dispatchEvent(event); document.addEventListener("newMessage", newMessageHandler, false);

EventBus / EventEmitter

refs



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


js trigger click event & dispatchEvent & svg element的更多相关文章

  1. svg click event bug & css pointer-events

    svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ...

  2. nodejs phantom add click event

    page.evaluate( function() { // find element to send click to var element = document.querySelector( ' ...

  3. js & right click menu

    js & right click menu https://stackoverflow.com/questions/4909167/how-to-add-a-custom-right-clic ...

  4. Atitit vod click event design flow  视频点播系统点击事件文档

    Atitit vod click event design flow  视频点播系统点击事件文档 重构规划1 Click cate1 Click  mov4 重构规划 事件注册,与事件分发管理器分开 ...

  5. JS中的event 对象详解

    JS中的event 对象详解   JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的 ...

  6. trigger()的event事件对象之坑

    问题引入,先贴一段有问题的代码,如果你对 trigger()  这个函数了解不透彻,还真看不出这段代码错在哪.完成的功能是样式转换器,想让页面在加载后自行触发点击事件隐藏三个按钮,但是效果如图并没有隐 ...

  7. 使用FastClick的同时造成元素上的trigger('click')无法触发的解决办法

    现象还原: 1. 初始化进入多规格卖场商详页的时候,chrome模拟器切换到安卓环境下,点击加入购物车,规格弹出页没有展示.而在PC和IOS模拟器下,可以弹出规格页 2. 点击加入购物车时,使用 $( ...

  8. trigger click 和 click 的区别??

    trigger click 和 user click 有什么区别吗? 好像没有的.直到发现了这样一段代码. <button class="btn1">Button< ...

  9. js & right click menu & 鼠标滑词

    js & right click menu & 鼠标滑词 // 鼠标滑词 mouseSlipGetWords() { const getSelectionText = () => ...

随机推荐

  1. Promise 中reject 和 catch 处理上有什么区别

    reject 是用来抛出异常,catch 是用来处理异常reject 是 Promise 的方法,而 catch 是 Promise 实例的方法reject后的东西,一定会进入then中的第二个回调, ...

  2. React中组件间通信的方式

    React中组件间通信的方式 React中组件间通信包括父子组件.兄弟组件.隔代组件.非嵌套组件之间通信. Props props适用于父子组件的通信,props以单向数据流的形式可以很好的完成父子组 ...

  3. LOJ104 普通平衡树

    题目描述 这是一道模板题. 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入  x 数: 删除  x 数(若有多个相同的数,因只删除一个): 查询  x 数的排名(若 ...

  4. 在plsql/developer的命令窗口执行sql脚本

    在plsql/developer的命令窗口执行sql脚本的命令是@+路径. 命令窗口,如下: 1.在指定位置创建.sql文件 2-1.输入@,点击回车,选择.sql文件 2-2.或者@加路径

  5. Zookeeper语法

    ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知.集群管理.Master 选举.分布式 ...

  6. tp6.0配置站点后无法访问

    1.安装composer中国镜像composer config -g repo.packagist composer https://packagist.phpcomposer.com2.执行comp ...

  7. Web信息收集之搜索引擎-Shodan Hacking

    Web信息收集之搜索引擎-Shodan Hacking 一.Shodan Hacking简介 1.1 ip 1.2 Service/protocol 1.3 Keyword 1.4 Cuuntry 1 ...

  8. ThinkPHP 漏洞利用

    ThinkPHP thinkphp_5x_命令执行漏洞 受影响版本包括5.0和5.1版本 docker漏洞环境源码: https://github.com/vulnspy/thinkphp-5.1.2 ...

  9. centos6.5升级gcc 4.4.7为最新版4.9.1

    ==================本方法切实可行===桌面版不建议用.centos============================== 1.下载源码包 我的下载  gcc-4.9.1.tar ...

  10. Neeto-Vue:我为了记笔记,手写了一个为知笔记客户端

    构建自托管的笔记系统 这两年各种笔记系统快速井喷,好像谁都能来掺一脚,app store随便搜索一个关键字就会有一大堆的结果,从老牌的印象笔记,Bear,MWeb,有道云笔记再到新星专注笔记之类,从买 ...