ie9中的停止事件(没有升级到Prototype 1.7)
Stop Event in IE 9 (without upgrading to Prototype 1.7)
我正在工作的网站使用Prototype 1.6.1。它的Event.stop()在IE9中不起作用。我知道Prototype 1.7修复了这个问题。但是,如果我不能升级到Prototype 1.7,是否有解决办法?
我需要该网站与IE 7, 8和9(以及Chrome, Firefox等)兼容。
谢谢!
编辑:我试过event.preventDefault()
,它在ie9中不适合我。这里有一个例子:http://jsfiddle.net/garthcn/AdR7g/它适用于jsfiddle/Chrome/Firefox。如果您将代码粘贴到HTML文件并用IE9打开它,它将无法工作。EDIT2:我刚刚发现Prototype 1.6.1添加了自己的preventDefault()
方法到IE,这在ie9上不起作用。然而,ie9自带preventDefault()
,实际上可以工作。因此,如果我坚持原型1.6.1,我想我不能让preventDefault()
在ie9上工作。
function stopDefAction(evt) {
evt = evt || event;
if (evt.preventDefault) {
evt.preventDefault();
}
else {
evt.returnValue = false;
}
}
似乎在内部原型确实扩展了,这在IE9下打破了一些东西。在不升级的情况下,简单的方法是在head标签的顶部(但在字符集标签下方)添加一个与x- wa兼容的元标签,以强制IE9小于9。
如果你有能力,你也可以尝试直接修补Prototype:http://mandagreen.com/prototype-1-6-event-stop-ie9-quick-patch/这是为1.6.0编写的,但我认为它应该适用于1.6.1。我也有同样的问题,很可能会尝试一下,看看会发生什么。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- 正在将事件侦听器作为Class.prototype函数删除
- Node.js:事件的关系.EventEmitter.call(this)和Obj.prototype.__proto_
- prototype.js类实例上的事件
- ie9中的停止事件(没有升级到Prototype 1.7)
- 如何在prototype js中使用触摸事件
- Javascript在构造函数中将dom事件设置为prototype方法
- 如何在js/prototype中触发具有特定顺序的事件(onclick)
- prototype.js库中的事件处理
- 将函数附加到Prototype JS中的自定义事件
- 用jQuery触发prototype.js的变更事件