event nesnesi
event nesnesi bir olay tetiklendiğinde
oluşturulur ve olay hakkında bilgi içerir. Bir olay
meydana geldiğinde event nesnesi olay
işleyici fonksiyona iletilir.
event nesnesinin özellikleri ve metotları
Aşağıdaki tabloda event nesnesinin özellikleri
ve metotları ile açıklamaları verilmiştir:
| İsim | Açıklama |
|---|---|
event.currentTarget |
Olayın kabarcıklandırma aşamasındaki mevcut DOM öğesi.
Genellikle bu özellik fonksiyonun this'ine eşdeğerdir.
|
event.data |
İsteğe bağlı parametre. Çalıştırılabilir işleyici eklenirken olay metoduna iletilen veri nesnesi. |
event.delegateTarget |
Yeni çağrılan jQuery olay işleyicisinin eklendiği öğe.
Bu özellik, bir işleyici işlenen öğenin ata öğesine
bağlandığında temsilci olaylarda en kullanışlıdır.
Doğrudan bir öğeye bağlı temsilci olmayan işleyiciler
için event.delegateTarget değeri
event.currentTarget değerine karşılık gelir.
|
event.isDefaultPrevented |
Bu metot, bu olay nesnesi için
event.preventDefault metodunun
çağrılıp çağrılmadığını kontrol eder.
|
event.isImmediatePropagationStopped |
Bu metot, bu olay nesnesi için
event.stopImmediatePropagation
metodunun çağrılıp çağrılmadığını kontrol eder.
|
event.isPropagationStopped |
Bu metot, bu olay nesnesi için
event.stopPropagation
metodunun çağrılıp çağrılmadığını kontrol eder.
|
event.isPropagationStopped |
Bu metot, bu olay nesnesi için
event.stopPropagation
metodunun çağrılıp çağrılmadığını kontrol eder.
|
event.metaKey |
Bu metot, olay tetiklendiği sırada
META tuşuna basılıp basılmadığını
kontrol eder. Platforma bağlı olarak tuş
farklılık gösterebilir. true veya
false döndürür.
|
event.namespace |
Olay çağrıldığında belirtilen ad alanı. Bu özellik, görevleri kullanılan ad alanına bağlı olan eklenti yazarları için yararlı olacaktır. |
event.pageX |
Farenin belgenin sol kenarına göre konumunu gösterir. |
event.pageY |
Farenin belgenin üst kenarına göre konumunu gösterir. |
event.preventDefault |
Bu metot çağrılırsa, bu olay için varsayılan
eylem gerçekleştirilmeyecektir. Örneğin bir
bağlantıya tıklamak yeni bir URL'ye geçişe
yol açmaz. Bu metodun çağrılıp çağrılmadığını
kontrol etmek için
event.isDefaultPrevented
metodu kullanılabilir.
|
event.relatedTarget |
Varsa, olaya katılan diğer DOM öğesini döndürür.
mouseout için farenin hangi öğenin
üzerinde olduğunu gösterir, mouseover
için fare imlecinin hangi öğeden çekildiğini gösterir.
|
event.result |
Tetiklenen olayın işleyicisinin döndürdüğü,
undefined'a eşit olmayan son değer.
Bu özellik, özel olayların değerlerini almak
için yararlı olabilir.
|
event.stopImmediatePropagation |
Öğeyle ilişkili kalan tüm olay işleyicilerinin
çalışmasını iptal eder ve olayın DOM ağacında
yukarı doğru kabarcıklandırılmasını önler.
Bir olayın ata öğelere kadar kabarcıklandırılmasını
engellemek ancak diğer olay işleyicilerinin
çalışmasına izin vermek için
event.stopPropagation metodu
kullanılabilir. Bu olay nesnesi için
event.stopImmediatePropagation'ın
çağrılıp çağrılmadığını kontrol etmek için
event.isImmediatePropagationStopped
metodunu kullanın.
|
event.stopPropagation |
Olayın DOM ağacında yukarı doğru
kabarcıklandırılmasını önler. Unutmayın
ki diğer işleyiciler bu öğe için çalışmaya
devam edecektir. Bu metot,
trigger
metodu kullanılarak çağrılan özel olaylar
için çalışır. Bu metodun çağrılıp çağrılmadığını
kontrol etmek için event.isPropagationStopped
kullanın.
|
event.target |
Olayı başlatan DOM öğesi. Bu, olay için
kayıtlı öğe veya onun alt öğesi olabilir.
Olayın kabarcıklandırılmasını belirlemek
için event.target ve this'i
karşılaştırmak çok yararlıdır. Bu özellik,
olaylar kabarcıklandığında olayın temsili
olarak atanmasında yararlıdır.
|
event.timeStamp |
Olayın tarayıcı tarafından oluşturulma
anları ile 1 Ocak 1970 tarihi arasındaki
milisaniye cinsinden zaman farkı. Bu özellik,
koddaki iki zaman anı için
event.timeStamp değerlerinin
farkını alarak olayın performansını
belirlemede yararlı olabilir. Bir olay
işleyicisi içinde sadece mevcut zamanı
almak istiyorsanız,
getTime
metodunu kullanın.
|
event.type |
Bu özellikte olayın türü belirtilir. |
event.which |
Bu özellik, hangi klavye veya fare
tuşuna basıldığını belirtir. Fare için:
1 - sol tuş, 2 - orta tuş,
3 - sağ tuş.
event.button yerine
event.which kullanın.
|
event nesnesinin diğer özellikleri
event nesnesine kopyalanan başka
özellikler de vardır:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Yukarıda listelenmeyen özelliklere erişmek için
event.originalEvent nesnesi kullanılabilir.
Örnek
Bir div içinde hangi tuşlara basıldığını gösterelim:
<input id="test" value="bir şeyler yaz">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Örnek
Bir div içinde hangi etikete tıkladığımızı gösterelim:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>tıkla</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('tıklandı: ' + event.target.nodeName);
});
Ayrıca bakınız
-
onmetodu,
bir öğeye olay işleyici bağlamayı sağlar -
triggermetodu,
bir öğeye bağlı tüm olay işleyicilerini belirli bir olay türü için çalıştırmayı sağlar -
triggerHandlermetodu,
bir öğeye bağlı tüm olay işleyicilerini çalıştırmayı sağlar - jQuery olayları