<HTML>
<HEAD>
<TITLE>Metoda fireEvent()</TITLE>
<STYLE TYPE="text/css">
#mySPAN {font-style:italic}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
// gromadzimy informacje o kilku waciwociach zdarzenia
function getEventProps() {
    var msg = ""
    var elem = event.srcElement
    msg += "event.srcElement.tagName: " + elem.tagName + "\n"
    msg += "event.srcElement.id: " + elem.id + "\n"
    msg += "event button: " + event.button
    return msg
}

// procedura obsugi zdarzenia onClick dla elementw body, myP, and mySPAN
function bodyClick() {
    var msg = "Zdarzenie click przetworzone w elemencie BODY\n\n"
    msg += getEventProps()
    alert(msg)
    checkCancelBubble()
}
function pClick() {
    var msg = "Zdarzenie click przetworzone w elemencie P\n\n"
    msg += getEventProps()
    alert(msg)
    checkCancelBubble()
}
function spanClick() {
    var msg = "Zdarzenie click przetworzone w elemencie SPAN\n\n"
    msg += getEventProps()
    alert(msg)
    checkCancelBubble()
}

// przerwanie propagacji zdarze jeli jest zaznaczone pole wyboru
function checkCancelBubble() {
    event.cancelBubble = document.controls.bubbleOn.checked
}

// przypisanie procedur obsugi zdarzenia onClick trzem elementom strony
function init() {
    document.body.onclick = bodyClick
    document.all.myP.onclick = pClick
    document.all.mySPAN.onclick = spanClick
}

// wywoanie metody dispatchEvent() dla obiektu o podanym identyfikatorze
function doFire(objID) {
    var newEvt = document.createEventObject()
    newEvt.button = 3
    document.all(objID).fireEvent("onclick", newEvt)
    // nie przekazujemy klikni mysz
    event.cancelBubble = true
}
</SCRIPT>
</HEAD>
<BODY ID="myBODY" onLoad="init()">
<H1>Metoda fireEvent()</H1>
<HR>
<P ID="myP">Oto akapit <SPAN ID="mySPAN">(zawierajcy element SPAN)</SPAN>. Do niego 
bd kierowane zdarzenia click.</SPAN></P>
<HR>
<P><B>Control Panel</B></P>
<FORM NAME="controls">
<P><INPUT TYPE="checkbox" NAME="bubbleOn" onClick="event.cancelBubble=true">Przerwanie 
propagacji zdarze.</P>
<P><INPUT TYPE="button" VALUE="Generowanie zdarzenia click dla elementu BODY" 
onClick="doFire('myBODY')"></P>
<P><INPUT TYPE="button" VALUE="Generowanie zdarzenia click dla elementu myP" 
onClick="doFire('myP')"></P>
<P><INPUT TYPE="button" VALUE="Generowanie zdarzenia click dla elementu mySPAN" 
onClick="doFire('mySPAN')"></P>
</FORM>
</BODY>
</HTML>