IE와 Firefox browsers_javascript 기술 간의 이벤트 호환성 요약
存在问题:IE中可以直接使用event对象,但是Mozilla不可以直接使用。
例如:
下面看一下两者都兼容的代码:
IE&Moz
event)">
2,关于event.srcElement[IE]和event.target[Moz]
Mozilla下的e.target相当于ie下的event.srcElement,但细节上有区别,后者是返回一个Html Element
而e.target返回的是个节点,也就是说包括文本节点。
看下面的例子代码,可以看出两者的区别和联系:
IE ONLY
1 | 2 |
3 | 4 |
function doIt(){ alert(event.srcElement.tagName); }
Moz
1 | 2 |
3 | 4 |
function doIt(oEvent){
var Target = oEvent.target;
while(oTarget.nodeType != 1)
Target = oTarget.parentNode;
alert(oTarget.tagName);
}
3,键盘值的取得
Mozilla下的event.which与IE下的event.keyCode相当。
见代码:
IE
Moz
4,event.x,event.y[IE]和event.pageX,event.pageY[Moz]
IE中取鼠标点击的绝对位置,使用event对象的event.x和event.y
Moz中取鼠标点击的绝对位置,使用event对象的event.pageX和event.pageY
所以为了兼容,需要自己做处理,参考代码如下:
IE&Moz
5,event.offsetX,event.offsetY[IE]和event.pageX,event.pageY[Moz]
IE中取鼠标点击的相对位置,使用event对象的event.offsetX和event.offsetY
Moz中取鼠标点击的相对位置,使用event对象的event.layerX和event.layerY
所以为了兼容,需要自己做处理,参考代码如下:
IE&Moz
6,事件绑定
事件绑定上Mozilla用addEventListener,removeEventListener
对应IE的attachEvent,detatchEvent
看下面的例子代码:
IE ONLY
Moz
注意:蓝色字的部分。IE中要在事件前加on,而在Moz中不能加。
对象选择篇
1,通过ID访问Html元素
一般直接使用document.getElementById就可以了,如果要兼容IE4,可以再加上document.all
IE&Moz
2,如果要使用document.form.item类似的访问方法,要注意下面的问题:
IE中允许存在类似于 document.formName.item("itemName") 这样的语句,但是Moz下是不可以的
要想在Mozilla下也可以正常运行,需要把写法正规化,如下:
IE&Moz
注意:在Mozilla中,访问数组的时候,不能用类似于arr("itemName")的形式,必须使用中括号,而在IE中两者都可以。
另外,在写上面这段测试代码的时候,我发现了Mozilla浏览器的一个有趣的问题,不知道是不是Bug。大家可以试一下下面这段代码:
Moz
Moz
个人认为可能是因为Mozilla太符合Dom标准了吧
DOM篇
1,删除节点
IE中有removeNode方法,可以对节点进行删除,如下:
IE
document.getElementById("myButton").removeNode();
但是Mozilla中,没有这个方法,只能是先找到父节点,然后调用Dom方法removeChild才可以达到目的,如下:
IE&Moz
var Node = document.getElementById("myButton");
oNode.parentNode.removeChild(oNode);
2,交换节点
IE中有swapNode方法可以交换两个HTML元素节点,如下:
IE
但是Mozilla中,没有这个方法,可以自己写函数实现,如下:
IE&Moz
3,关于节点的插入
IE中,有insertAdjacentHTML和insertAdjacentElement两个好用的方法,如下:
IE
그러나 이 두 가지 방법은 Mozilla에서 사용할 수 없습니다. 이들과의 호환성을 위해 다음과 같이 Dom의 insertBefore 방법을 일률적으로 사용합니다.
IE&Moz
var Element = document.createElement("input")
oElement.type = "텍스트"
oDiv.insertBefore(oElement,null);
4, innerHTML 및 innerText에 대하여
innerHTML의 경우 IE와 Mozilla 모두 지원하므로 문제가 없으나 innerText의 경우 IE만 있고 Moz에는 없습니다.
관련 기사 더보기
JavaScript 애플리케이션에서 IE와 Firefox의 호환성에 대한 논의
IE와 Firefox에서 JavaScript를 작성하는 7가지 방법 요약
IE의 javascript css 및 Firefox 차이점 분석
JS IE 및 Firefox 호환성 모음

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Mozilla Firefox는 Google Chrome, Safari, Opera와 같은 브라우저 사용자 목록에서 3위를 차지했습니다. 그러나 때때로 Firefox를 여는 동안 사용자는 "XPCOM을 로드할 수 없습니다!"라는 오류 메시지를 표시합니다. 이 오류로 인해 Mozilla Firefox가 전혀 열리지 않습니다. 비상 솔루션을 찾고 있는 사용자 중 한 명이라면 올바른 위치에 오셨습니다. 빠른 수정 – 1. 장치를 한 번 다시 시작해 보세요. 그런 다음 Firefox를 다시 열어보세요. 2. 인터넷 연결을 확인하세요. 수정 1 – Firefox 새로 고침 다른 작업을 하기 전에 Firefox를 새로 고쳐 보십시오. 1. ⊞Win 키 + R을 눌러야 합니다.

최근 뉴스에 따르면 Mozilla의 오픈 소스 이메일 클라이언트 Thunderbird는 이전에 로고를 업데이트했으며 사용자 인터페이스는 현재 업데이트 중입니다. Mozilla는 Thunderbird를 완전히 리팩토링했습니다. 애플리케이션은 현재 빠르게 개발되고 있으며 소프트웨어 버전이 91에서 102로 바로 향상되었습니다. ▲사진 출처 모질라 썬더버드 ▲사진 출처 모질라 썬더버드 올해 2월, 모질라는 이메일 클라이언트 썬더버드에 대한 대대적인 혁신 프로젝트를 시작하겠다고 보도자료를 발표했다. 썬더버드는 2020년 초부터 모질라 자회사인 MZ에서 개발을 진행해왔다.

점점 더 많은 사용자들이 win11 시스템을 업그레이드하기 시작하고 있습니다. 사용자마다 사용 습관이 다르기 때문에 여전히 많은 사용자들이 ie11 브라우저를 사용하고 있습니다. 그렇다면 win11 시스템에서 ie 브라우저를 사용할 수 없으면 어떻게 해야 합니까? windows11은 여전히 ie11을 지원하나요? 해결책을 살펴보겠습니다. win11에서 ie11 브라우저를 사용할 수 없는 문제 해결 방법 1. 먼저 시작 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 "명령 프롬프트(관리자)"를 선택하여 엽니다. 2. 연 후 "Netshwinsockreset"을 직접 입력하고 Enter를 눌러 확인합니다. 3. 확인 후 "netshadvfirewallreset&rdqu"를 입력하세요.

Internet Explorer가 오랫동안 인기를 끌지 못했다는 것은 비밀이 아니지만 Windows 11이 출시되면서 현실이 시작되었습니다. 나중에 IE를 대체하는 경우도 있지만 이제 Edge는 Microsoft 최신 운영 체제의 기본 브라우저입니다. 현재로서는 Windows 11에서 Internet Explorer를 계속 활성화할 수 있습니다. 그러나 IE11(최신 버전)은 이미 공식적인 종료 날짜인 2022년 6월 15일을 갖고 있으며 시계는 계속 흐르고 있습니다. 이를 염두에 두고 Internet Explorer가 때때로 Edge를 여는 것을 발견했을 수 있으며 마음에 들지 않을 수도 있습니다. 그럼 왜 이런 일이 일어나는 걸까요? 존재하다

PHP8.0의 이벤트 처리 라이브러리: 이벤트 인터넷의 지속적인 발전과 함께 널리 사용되는 백엔드 프로그래밍 언어인 PHP는 다양한 웹 애플리케이션 개발에 널리 사용됩니다. 이 과정에서 이벤트 중심 메커니즘은 매우 중요한 부분이 되었습니다. PHP8.0의 이벤트 처리 라이브러리 Event는 보다 효율적이고 유연한 이벤트 처리 방법을 제공합니다. 이벤트 처리란 무엇입니까? 이벤트 처리는 웹 애플리케이션 개발에 있어 매우 중요한 개념입니다. 이벤트는 모든 종류의 사용자 행일 수 있습니다.

제가 Microsoft Edge에서 좋아하는 점 중 하나는 사이드바에서 탭에 액세스할 수 있는 옵션입니다. Mozilla가 Firefox에 세로 탭 지원을 추가할 수 있을 것 같습니다. 약 1년 전 Edge에 도입된 이 옵션을 사용하면 일반적으로 창 상단에 나타나는 탭 표시줄을 숨길 수 있습니다. 이 기능을 활성화하면 각 탭에 대한 아이콘이 포함된 사이드바가 생성됩니다. 아이콘 중 하나를 클릭하면 해당 탭으로 전환됩니다. 따라서 동일한 경험을 얻을 수 있지만 더 컴팩트한 인터페이스를 사용할 수 있습니다. 측면 패널을 확장하면 탭을 보다 효율적으로 관리할 수 있습니다. 대부분의 웹사이트에는 화면 양쪽에 많은 공백이 있으며 제 생각에는 세로 탭 표시줄이 보기에 더 나은 경험을 제공합니다.

Mozilla Firefox는 제거할 수 있습니다. Firefox는 타사 브라우저이므로 필요하지 않은 경우 제거할 수 있습니다. 제거 방법: 1. 시작 메뉴에서 "Windwos 시스템" - "제어판"을 클릭합니다. 2. "제어판" 인터페이스에서 "프로그램 및 기능"을 클릭합니다. 3. 새 인터페이스에서 찾아 두 번 클릭합니다. Firefox 브라우저 아이콘 4. 제거 팝업 창에서 "다음"을 클릭합니다. 5. "제거"를 클릭합니다.

최근 많은 win10 사용자는 컴퓨터 브라우저를 사용할 때 IE 브라우저가 항상 자동으로 엣지 브라우저로 이동한다는 사실을 발견했습니다. 그러면 win10에서 IE를 열 때 자동 엣지 브라우저로 이동을 끄는 방법은 무엇입니까? 이 사이트에서는 win10에서 IE를 열 때 자동으로 가장자리로 이동하고 닫는 방법을 사용자에게 주의 깊게 소개합니다. 1. 엣지 브라우저에 로그인하고 오른쪽 상단에서...를 클릭하고 드롭다운 설정 옵션을 찾습니다. 2. 설정을 입력한 후 왼쪽 열에서 기본 브라우저를 클릭합니다. 3. 마지막으로 호환성에서 웹사이트가 IE 모드에서 다시 로드되는 것을 허용하지 않는 확인란을 선택하고 IE 브라우저를 다시 시작합니다.
