这两天在接触 jQuery EasyUI(http://jquery-easyui.wikidot.com/ ),在调用window.event的时候发现了Firefox在调用event的时候有些兼容问题:
在Firefox页面调用后,其windows.event对象为undefined:
if (typeof (window.event) == 'undefined')
alert('window.event is undefined.');
else
alert('window.event is defined.');
以上代码在Firefox中执行,结果为:"window.event is undefined."。IE 和 Chrome中执行结果:“window.event is defined."。
在Firefox中需要调用event必须在调用方法中传递一个参数event,但是jQuery EasyUI中有些动作不能传递自定义参数,比如 tree 中的 onChick(node)中,只能传递node参数。为了解决这个问题,页面加载时需要执行以下代码,初始化一个event即可解决这个问题:
function loadEvent() {
if (!document.all) {
window.constructor.prototype
.__defineGetter__(
"event",
function() {
var func = arguments.callee.caller;
while (func != null) {
var arg0 = func.arguments[0];
if (arg0
&& (arg0.constructor == Event || arg0.constructor == MouseEvent)) {
return arg0;
}
func = func.caller;
}
return null;
});
}
}
另外在Firefox中获取鼠标当前坐标也存在不同的调用方法:
menu_x = event.x ? event.x : event.pageX;
menu_y = event.y ? event.y : event.pageY;
在IE和Chrome中,使用event.x和event.y即可获得鼠标坐标,而在Firefox中需使用event.pageX和event.pageY获取。
分享到:
相关推荐
### event兼容调用详解——IE,Firefox,Chrome 在跨浏览器开发中,处理事件(event)的兼容性问题是一项常见的挑战。不同的浏览器对事件模型的支持程度不同,这导致了开发者在编写JavaScript代码时需要考虑多种...
兼容不同的浏览器,尤其是老版本的Internet Explorer(IE)和Firefox,对于开发者来说是一项挑战。本篇文章将详细探讨如何实现“图片上传预览”功能,并确保在IE 6/7/8及Firefox(包括新版)等浏览器中的兼容性。 ...
它不仅支持Internet Explorer(早期版本可能需要Flash支持),还支持Firefox、Chrome等现代浏览器。这意味着无论用户使用哪种浏览器,只要他们的系统中安装了Flash插件,就可以享受到复制到剪贴板的便捷功能。这对于...
然而,Firefox 和 Chrome 等现代浏览器则会忽略滚动条的影响,导致在页面有滚动时,获取的坐标不准确。因此,我们需要一种兼容性的方法来处理这个问题。 给出的函数如下: ```javascript function mousePos(e) { ...
尤其是在早期,Internet Explorer(IE)与其他现代浏览器如Firefox、Chrome之间存在较大的差异。本文将详细介绍如何通过自定义原型的方法来解决部分兼容性问题,特别是如何为Firefox添加IE特有的方法和属性。 #### ...
它确保在IE8及更高版本,以及其他现代浏览器如Chrome、Firefox、Safari和Opera中都能正常工作。 2. **易用性**:这款插件的集成和使用相当简单。只需要在页面中引入jQuery和DCalendar的JS文件,然后通过简单的...
标题“火狐兼容获取鼠标的坐标”涉及到的是在网页开发中如何在Firefox浏览器上获取鼠标指针的位置。在Web开发中,特别是在JavaScript编程中,获取鼠标坐标是一项常见的需求,用于实现各种交互效果,如拖放功能、点击...
这个方法在Firefox、Chrome、Safari、Edge等现代浏览器中都得到了很好的支持。但在IE浏览器,尤其是早期版本中,这个方法并不被支持。 在IE浏览器中,我们需要使用另一种方式来阻止事件的默认行为,那就是通过`...
本文将深入探讨如何编写兼容多浏览器(如IE6/7/8、Firefox和Chrome)的回车键和鼠标焦点事件处理代码。 首先,让我们分析给出的代码片段。这是一个简单的文本输入框,当用户按下回车键时触发搜索事件。文本框的HTML...
需要注意的是,`fireEvent`是IE特有的,其他浏览器(如Firefox、Chrome、Safari、Opera等)并不支持。在跨浏览器的JavaScript开发中,通常会使用`dispatchEvent`方法来代替,它在标准浏览器中提供了类似的功能。然而...
3. `which`:在非IE浏览器(如Firefox、Chrome、Safari)中,`event.which` 返回按键值,与`keyCode` 类似。 实现文本框只允许输入数字的JavaScript代码如下: ```html <!DOCTYPE ...
暗示了在不同的浏览器中,包括但不限于Internet Explorer(IE)、Google Chrome、Mozilla Firefox(火狐),要禁用某个特定的键盘按键,需要考虑到这些浏览器在处理键盘事件时的兼容性问题。一般而言,可以通过监听...
标题中的"键盘上一张下一张兼容IE/google/firefox等浏览器"指的是在网页浏览时,通过键盘的左右箭头键(37和39)或页码翻页键(33和34)实现页面的前后切换,这个功能需要在不同的浏览器如Internet Explorer(IE)、...
### 如何在PowerBuilder中调用浏览器控件 #### 一、引言 在PowerBuilder应用程序开发过程中,有时候我们需要在程序内部嵌入浏览器功能,以便用户可以在应用内直接浏览网页或者展示特定的HTML内容。PowerBuilder...
在现代Web开发中,利用非IE内核的浏览器(如Chrome、Firefox、Safari和Edge)调用USB摄像头拍照已经成为一种常见的需求。这个"web开发非IE内核调用USB摄像头拍照demo"提供了如何实现这一功能的具体示例。在本文中,...
这篇文章将深入探讨如何使用JS实现按钮点击触发,同时确保兼容性,包括Internet Explorer(IE)和Firefox等主流浏览器。 首先,我们需要了解JavaScript中的事件处理。在DOM(Document Object Model)中,事件是用户...
本文将详细讲解如何使`textarea`在用户填写完文本后自动获取焦点,这一功能对于提高用户体验非常关键,特别是考虑到它在不同浏览器(如IE、Firefox和Chrome)中的兼容性。 首先,我们要明白`textarea`的基本结构。...
浏览器兼容性指的是网页或应用程序在不同的浏览器(如Internet Explorer、Chrome、Firefox等)上能够正常运行的能力。由于各浏览器对HTML、CSS和JavaScript的解释和执行方式存在差异,因此,确保网页或应用在所有...
在JavaScript中,创建一个兼容不同浏览器的日历,特别是针对火狐(Firefox)这样的非主流浏览器进行优化,是一项重要的任务。本文将深入探讨如何使用JavaScript构建一个跨浏览器的日历,并重点讲解在火狐上的兼容性...