IE와 Firefox의 호환성에 주목해 주세요.
IE에서 이벤트 대상은 srcElement 속성이 있지만 target 속성이 없습니다.
Firefox에서 이벤트 대상은 target 속성이 있지만 srcElement 속성이 없습니다.
다음과 같이 해결할 수 있습니다.
obj(obj=event.srcElement?event.srcElement:event.target;) 사용IE의 이벤트를 대신합니다.srcElement 또는 Firefox의 이벤트target.
2. 위에서 이벤트를 언급했는데 두 브라우저에도 문제가 있습니다.
window.이벤트는 IE 하에서만 실행되며 Firefox 하에서는 실행되지 않습니다.
Firefox의 이벤트는 이벤트가 발생한 경우에만 사용할 수 있기 때문입니다.
IE:
function test1() {
alert(window.event);//window를 사용합니다.event
}
function test2(evt) {
evt=evt?evt:(window.event?window.event:null);
alert(evt);//매개변수 evt 사용
}
다음 예는 다음과 같습니다.
화면에서 리턴을 눌렀을 때 사건을 일으키지 않지만 Text Area와 같은 상자에서 리턴을 눌렀을 때 사건을 일으킨다.다음과 같이 코드를 수정할 수 있습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>s</title>
<script language="javascript">
document.onkeydown=keypage
function keypage(e) {
evt=e?e:(window.event?window.event:null);
if (evt.keyCode==13) {
if (window.XMLHttpRequest) { // IE7 FF MO
//alert(( evt ? evt.explicitOriginalTarget : null).tagName)
if(( evt ? evt.explicitOriginalTarget : null).tagName =="TEXTAREA"){
var obj = evt ? evt.explicitOriginalTarget : null;
alert("ID:="+obj.id)
}
} else { // IE6
if(document.activeElement.type== "textarea") {
var obj = document.activeElement
alert("ID:="+obj.id)
}
}
}
}
</script>
</head>
<body>
<input id="test1"type="text" >
<br>
<input id="test2" type="text" >
<br>
<input id="test3" type="button" >
<br>
<textarea id="test4"></textarea>
</body>
</html>
=============================================
3.
innerText는IE에서 정상적으로 작동할 수 있지만 innerText는FireFox에서 작동하지 않습니다
여기서 해결책을 제시합니다.
function testInnerText(){
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = "my text";
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.