已经解决
最新的IE浏览器用的是Edge内核 这些可以兼容了 视频中的IE旧版浏览器是不兼容的 望采纳
这个兼容是有些麻烦,
应该是因为定义对象名为event的原因的,我复制你的代码改成eventHandler没问题
可以上传一下代码?
应为这个属性值是个对象
http://jingyan.baidu.com/article/6b97984db7c9911ca2b0bf1c.html
希望对你有帮助
兼容,只要你的浏览器支持Javascript就兼容。
preventDefault:function(event)
==>
preventDefault=function(event)
试试看
prevenDefault和stopPropogation不是全局的,只在event对象中,所以不冲突。
第一个问题 可以写成那样。第二个问题 可以不写逗号
封装里的是形参,而你真正调用的时候是实参,函数调用过程中把你实际的实参传递给形参,然后函数体里面的也就相应传递了、、所以调用函数的时候,如果你设置了形参,就也要有实参,不然对不上。
再检查
var event = event || window.event; 赋值
return event ? event : window.event; 函数返回值
点自己头像--我的课程--选择对应课程的笔记,里面就有你自己的笔记和你采集的笔记,采集的笔记会有来源。
好像是return e=e||window.event;这里面e和window.event不会同时存在,哪个存在就将哪个赋值给e
形参名称是什么都可以的,用event是习惯,方便大家更易看懂
也可以不加,但是这里是用的自己创建的对象,如果不加的话,容易把默认的对象和自己创建的对象弄混。
//获取事件目标(绑定该事件的元素)--firefox有bug
getElement:function() {
return event.target || event.srcElement;
},
这里没有传event参数
你上面写的c不久已经是全局变量了吗?在click之外访问的c就是click之后的c
script.js里的eventUtil.addHander addHandler少了一个l
应该不行,要不然chrome还玩什么
一样的,都是这个意思:若第一个为真值,就取第一个;若第二个为真值,就取第二个。ie浏览器window.event为真,其他浏览器event为真。
并没有看到你的eventshiv是什么意思
ie8没试过,ie9能用
addEvent方法里面写错了。是addEventListener而不是addEventener
alert(eventdemo.getElement(b1));
你这里应该是传事件e而不是传id
这就是常说的事件监听机制,e就是响应的事件,这里的e是单击事件
e存入的是函数中的Event。所以当在其他浏览器的时候可以写成e=e,在IE浏览其中就要写成e=window.event.他