Ionic:如何让我的点击事件通过
Ionic: How to let my click event go through
我创建了一个链接并以编程方式单击它:
var a = document.createElement("a");
a.download = "mymap.png";
a.href = canvasdata;
document.body.appendChild(a);
a.click();
上面的代码块成功地正常触发了一次点击,但由于ionic.bundle.js:中的此功能,它将被离子点击事件处理系统阻止
function tapClickGateKeeper(e) {
...
// do not allow through any click events that were not created by ionic.tap
if ((ionic.scroll.isScrolling && ionic.tap.containsOrIsTextInput(e.target)) ||
(!e.isIonicTap && !ionic.tap.requiresNativeClick(e.target))) {
//console.log('clickPrevent', e.target.tagName);
e.stopPropagation();
if (!ionic.tap.isLabelWithTextInput(e.target)) {
// labels clicks from native should not preventDefault othersize keyboard will not show on input focus
e.preventDefault();
}
return false;
}
}
如果isIonicTap未设置为true,则此函数不允许直通单击事件。因此,我自己在Javascript中创建的点击事件在这里也被阻止了。
如何让我的点击事件通过?
我的情况是在元素上设置属性数据tap-disabled="true"。
我知道这个问题已经过时了,但仍然想添加我的答案。在我的情况下,我试图保存CSV文件形式的离子应用程序。所以这个代码起作用了:
a['type'] = 'submit' ;
document.body.appendChild(link);
var e1 = document.createEvent('MouseEvents');
e1.initEvent('mousedown', true, true);
a.dispatchEvent(e1);
var e2 = document.createEvent('MouseEvents');
e2.initEvent('click', true, true);
a.dispatchEvent(e2);
document.body.removeChild(link);
这段代码基于iOnic论坛上的这个帖子。
相关文章:
- 为什么我的点击事件没有使用 react js 触发
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何使用我的Jquery代码创建委托事件侦听器
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 为什么我的on change事件在ie9上返回空
- 在我的JavaScript模块中绑定一个点击事件
- 如何在javascript中调用onclick事件?我没有'我不想在我的HTML页面中使用任何事件
- 鼠标事件,我的代码出了什么问题
- 我可以让我的网站的内容可编辑区域对安卓股票浏览器上的触摸事件更敏感吗
- 为什么我的onchange事件发生在页面加载时,而不是在触发时
- 为什么我的Jquery.ajax调用会触发错误事件
- 为什么点击或更改事件都没有触发我的函数
- 为什么我从 JSLint 获得从事件调用的函数的“超出范围”
- 将 OnClick 事件附加到我的标签 - JavaScript.亚德夫.
- 为什么IE浏览器不喜欢我的点击事件
- 为什么我的点击事件没有触发
- 我的链接按钮的OnClick事件永远不会被触发
- 将我的nextPage()函数编写为全局函数,以便onclick事件可以访问它
- 为什么我的javascript鼠标事件没有启动