الحدث هو كائن يأتي مع IE، لكن هذا الكائن غير موجود في FF. لا يمكن محاكاة الأحداث إلا عن طريق تمرير المعلمات.
بالإضافة إلى ذلك، يتم استخدام srcElement في IE للحصول على مصدر تشغيل الحدث، ويتم استخدام الهدف في FF. لذلك، يجب إجراء توافق المتصفح ذي الصلة عند استخدام هذين الكائنين.
انسخ رمز الكود كما يلي:
<!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">
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>srcElement --//www.VeVB.COm/</title>
<نوع البرنامج النصي = "نص/جافا سكريبت">
<!--
وظيفة النقر (الحدث) {
الحدث = الحدث؟
var obj =event.srcElement?event.srcElement:event.target;
تنبيه (obj.tagName)؛
}
//-->
</script>
</الرأس>
<الجسم>
<button id="btn" onclick="Click(event)">انقر</button>
</الجسم>
</html>
عرض نتائج التشغيل
شامل لـ AttachEvent و addEventListener في القسم السابق.
انسخ رمز الكود كما يلي:
<نوع البرنامج النصي = "نص/جافا سكريبت">
<!
وظيفة النقر (الحدث) {
حدث = حدث؟
var obj =event.srcElement?event.srcElement:event.target;
تنبيه ("eventObj.tabName:" + obj.tagName)؛
}
var oBtnNew;
window.onload=function(){
oBtnNew=document.getElementById("btnNew");
إذا (window.attachEvent) {
oBtnNew.attachEvent("onclick",hanlder);
oBtnNew.attachEvent("onmouseover",hanlder);
}آخر{
oBtnNew.addEventListener("click",hanlder,false);
oBtnNew.addEventListener("mouseover",hanlder,false);
}
/*أو استخدم الاختبار التالي
oBtnNew.onclick=hanlder;
oBtnNew.onmouseover=hanlder;*/
}
معالج الوظيفة (الحدث) {
Event=event?event:window.event;
إذا (الحدث.نوع = = "انقر")
oBtnNew.innerHTML="وقع حدث عند النقر";
وإلا إذا (event.type==mouseover)
oBtnNew.innerHTML="وقع حدث onmouseover";
}
//>
</script>
</الرأس>
<الجسم>
<button id="btn" onclick="Click(event)">انقر</button>
<button id="btnNew">أضف نقرة الحدث</button>