给iframe 添加onclick事件

给iframe 添加onclick事件,第1张

首先 ,建立一个iframe对象,形成原型

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(newthis.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 iinthis.iframes) {

if (activeElement ===this.iframes[i].element) {// user is in this Iframe

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() { alert('a click') })

需求:在模式无障碍情况下放大后出现横向滚动条并且居中显示

收获:1.给iframe的父级元素绑定事件

$('#cy_zoomAdd', window.parent.document).on("click",function(){//给iframe的父级元素绑定事件

            $('body', window.parent.document).css({ "overflow-x": "auto" })

            //给父级html加属性---window.parent.document

           $("body").css({ "height": "9.5rem", "overflow": "hidden", "zoom": "1" })

            //给自身iframe加属性

}) 

2.横向滚动条居中(滚动条居中思路)

<1 .思路最开始设置滚动条左侧给一个非常大的值这样滚动条就会置顶右侧然后获取左侧的滚动条距离除以2这样赋值进去左侧距离就可以实现横向滚动条居中------- 兼容iE火狐

$(document).scrollLeft(100000)

$(document).scrollLeft($(document).scrollLeft()/2)

<2 直接写就行-----    一般在谷歌兼容性比较好的都没有问题

$(document).scrollLeft(($(document).width() - document.body.scrollWidth) / 2)//滚动条偏移

<3 思路:横向滚动条居中=(整个页面文档的宽度-浏览器可视窗口的宽度)/2---- 就是超出一屏的内容宽度除以2


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11259773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存