IE와 Firefox를 호환하는 이벤트 대상 ||||이벤트 호환 요약
IE var a=window.event.clientX;
Firefox , event ?
예를 들어 IE에서alert(event.clientX);그러나 Firefox에서는 이러면 안 된다. 비교적 적절한 방법은var obj=window이다.event;//이렇게//하지만 이것은 i에서만 값을 얻을 수 있습니다. 만약에 Firefox에서 이obj를 얻고 싶다면.그럼 var obj=?????????//여기 뭐라고 써야 되지?
<script>
/*firefox*/
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}
/*end firefox*/
</script>
이벤트 호환성 요약 이벤트는 IE와 FF(Firefox)에서 호환되지 않기 때문에 현재 자주 사용하는 것을 총괄하여 참고로 하고 전면적이지 않다.
1. 이벤트 설정
IE에서 가장 중요한 것은 setattribute로 onclick 등 이벤트 속성, 대상 속성, 집합 속성을 동적으로 설정하는 것을 지원하지 않는다는 것이다.따라서 다음과 같은 호환성 문제를 해결할 수 있습니다.
if (this.obj.attachEvent)
{
//IE
var eventStr = "FuncOnClick();";
this.obj.attachEvent("onclick", function(){eval(eventStr)});
}
else
{
this.obj.setAttribute("onclick", "javascript:FuncOnClick();");
}
자세한 방법은 다음을 참조하십시오.
IE에서는 이벤트 대상을 직접 사용할 수 있지만 FF에서는 사용할 수 없습니다. 해결 방법 중 하나는 다음과 같습니다.
var theEvent = window.event || arguments.callee.caller.arguments[0];
더 많은 방법은 Netscape에서 이벤트 대상을 사용하는 것을 참고하십시오.
3. srcElement과 target
IE에서 srcElement은 이벤트가 발생하는 원본을 표시합니다. 예를 들어 어떤 단추가 터치한 onclick 이벤트이고 FF는 target입니다.
var theEvent = window.event || arguments.callee.caller.arguments[0];
var srcElement = theEvent.srcElement;
if (!srcElement)
{
srcElement = theEvent.target;
}
자세한 내용은 IE 및 FF의 srcElement 을 참조하십시오.
4. 마우스 버튼 키 값.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Firefox 애드온을 직접 게시(self hosted)하는 방법Firefox 확장 프로그램을 게시하려는 경우 상점에 신청하고 게시하는 것이 일반적인 방법이지만 게시 조건을 충족해야 합니다. 예를 들어, 사내 응용 프로그램을 사용하여 직원만이 사용하는 확장 기능의 경우, 용도와 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.