iframe点击事件无效?给iframe添加点击事件?
进来了 证明我们在填坑的路上还是很相似的嘛!接下来直接上代码!
通过操作iframe的document是行不通的,不过还有有document.activeElement可供我们使用!
<body>
<iframe id="iFrame" class="hotm" src="https://h.eqxiu.com/s/zAd1U265" frameborder="0"></iframe>
<script>
var IframeOnClick = {
resolution: 200,
iframes: [],
interval: null,
Iframe: function() {
this.element = arguments[0];
this.cb = arguments[1];
this.hasTracked = false;
},
track: function(element, cb) {
this.iframes.push(new this.Iframe(element, cb));
if (!this.interval) {
var _this = this;
this.interval = setInterval(function() {
_this.checkClick();
}, this.resolution);
}
},
checkClick: function() {
if (document.activeElement) {
var activeElement = document.activeElement;
for (var i in this.iframes) {
if (activeElement === this.iframes[i].element) {
if (this.iframes[i].hasTracked == false) {
this.iframes[i].cb.apply(window, []);
this.iframes[i].hasTracked = true;
}
} else {
this.iframes[i].hasTracked = false;
}
}
}
}
}
IframeOnClick.track(document.getElementById("iFrame"), function() {
window.location.href = "http://daishan.cunyougo.com/html/web/penglai/index.html";
});
</script>
</body>
粘贴复制使用的好可以吧?顺便送个一键三连吧,点赞,评论,收藏