myNotlar Logo

Element.dispatchEvent()


Firefox Opera

element.dispatchEvent() metodu, elemente herhangi bir olay gönderilmesini sağlar. dispatchEvent ile ilgili elemente bir Olay gönderilmeden önce Olay, document.createEvent() ile oluşturularak, initEvent() veya diğer uygun metodlardan biri ile ilk değerleri atanmalıdır.

Sözdizimi

sonuc = element.dispatchEvent( olay );
olayGönderilecek Event nesnesi.

Dönüş Değeri

sonucOlay vazgeçirilirse false, diğer türlü true döner.

Aşağıdaki örnek, oluşturulan click, mousedown ve mouseup olaylarının dispatchEvent() metodu ile bir div elementine yönlendirilmesini göstermektedir.

<style type="text/css">
#ornekKutu
{
    width:180px;
    height:150px;
    background-color:#789ABC;
    color:white;
    font-weight:bold;
}
</style>
<input type="button" value="'click' Yap" onClick="clickYap()"/>
<input type="button" value="'mousedown' Yap" onClick="olayYap('mousedown')"/>
<input type="button" value="'mouseup' Yap" onClick="olayYap('mouseup')"/>

<div id="ornekKutu"></div>

<script type="text/javascript">

var ornekKutu = document.getElementById('ornekKutu');

function clickYap()
{
    var olay = document.createEvent("MouseEvents");
    olay.initEvent("click", true, true);
    ornekKutu.dispatchEvent(olay);
}
function olayYap(olayAdi)
{
    var olay = document.createEvent("MouseEvents");
    olay.initMouseEvent(olayAdi, true, true, window, 0, 0, 0, 0, 0, 
                    false, false, false, false, 0, null);

    ornekKutu.dispatchEvent(olay);
}
function neOldu(olay)
{
    ornekKutu.innerHTML = "'" + olay.type + "' oldu.";
}

ornekKutu.addEventListener("click", neOldu, false);
ornekKutu.addEventListener("mousedown", neOldu, false);
ornekKutu.addEventListener("mouseup", neOldu, false);
</script>

Örnekte, clickYap(), olayYap() ve neOldu() isimlerinde 3 fonksiyon tanımlanmıştır. clickYap(), createEvent() ile onclick olayını oluşturup initEvent() ile ilk değerlerini atayarak, dispatchEvent() ile div elementine yönlendirilmesini sağlar. olayYap() metodu aldığı mousedown ve mouseup parametrelerine göre bu olayları oluşturup, initMouseEvent() ile ilk değerlerini atayarak div elementine yönlendirilmesini sağlar. neOldu() metodu ise, diğer iki fonksiyondan bağımsız olarak ornekKutu isimli div elementinde gerçekleşebilecek herhangi bir olay tipinin gene ornekKutu içine innerHTML ile yazdırılmasını sağlar.

Örnekte ilk olarak, kodların en altındaki click, mouseup ve mousedown olayları tetiklendiğinde neOldu metodunu çağırması için olay dinleyici ekleyen üç adet addEventListener() satırı çalışır. Butonlara basıldığında çalışan fonksiyonlar aracılığıyla ornekKutu isimli div elementine olaylar gönderildiğinde, olayın click, mouseup ve mousedown olması durumunda neOldu() olay dinleyici fonksiyonu olay tipini gösterir.

Test Edin
İlgili Başlıklar
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | Oyunlar |