jQuery - Olayları İşleme

Olayları kullanarak dinamik web sayfaları oluşturma yeteneğine sahibiz. Olaylar, Web Uygulamanız tarafından tespit edilebilen eylemlerdir.

Örnek olaylar aşağıdadır -

  • Bir fare tıklaması
  • Bir web sayfası yükleniyor
  • Fareyi bir öğenin üzerine getirme
  • Bir HTML formu gönderme
  • Klavyenizde bir tuş vuruşu vb.

Bu olaylar tetiklendiğinde, olay ile hemen hemen istediğiniz her şeyi yapmak için özel bir işlev kullanabilirsiniz. Bu özel işlevler Olay İşleyicilerini çağırır.

Olay İşleyicileri Bağlama

JQuery Olay Modelini kullanarak, DOM öğeleri üzerinde olay işleyicileri oluşturabiliriz. bind() yöntem aşağıdaki gibidir -

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $('div').bind('click', function( event ){
               alert('Hi there!');
            });
         });
      </script>
		
      <style>
         .div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
      </style>
   </head>
	
   <body>
      <p>Click on any square below to see the result:</p>
		
      <div class = "div" style = "background-color:blue;">ONE</div>
      <div class = "div" style = "background-color:green;">TWO</div>
      <div class = "div" style = "background-color:red;">THREE</div>
   </body>
</html>

Bu kod, bölme öğesinin tıklama olayına yanıt vermesine neden olur; Bir kullanıcı daha sonra bu bölümün içine tıkladığında, uyarı gösterilecektir.

Bu, aşağıdaki sonucu verecektir -

Bind () komutunun tam sözdizimi aşağıdaki gibidir -

selector.bind( eventType[, eventData], handler)

Aşağıda parametrelerin açıklaması verilmiştir -

  • eventType- Tıklama veya gönderme gibi bir JavaScript etkinlik türünü içeren bir dize. Olay türlerinin tam listesi için sonraki bölüme bakın.

  • eventData - Bu isteğe bağlı parametre, olay işleyicisine aktarılacak verilerin bir haritasıdır.

  • handler - Olay her tetiklendiğinde yürütülecek bir işlev.

Olay İşleyicilerini Kaldırma

Tipik olarak, bir olay işleyicisi bir kez kurulduktan sonra, sayfanın geri kalan ömrü boyunca etkin kalır. Olay işleyicisini kaldırmak istediğinizde bir ihtiyaç olabilir.

jQuery, unbind()mevcut bir olay işleyicisini kaldırmak için komut. Unbind () sözdizimi aşağıdaki gibidir -

selector.unbind(eventType, handler)

or 

selector.unbind(eventType)

Aşağıda parametrelerin açıklaması verilmiştir -

  • eventType- Tıklama veya gönderme gibi bir JavaScript etkinlik türünü içeren bir dize. Olay türlerinin tam listesi için sonraki bölüme bakın.

  • handler - Sağlanmışsa, kaldırılacak belirli dinleyiciyi tanımlar.

Olay Türleri

Sr.No. Olay Tipi ve Tanımı
1

blur

Öğe odağı kaybettiğinde oluşur.

2

change

Eleman değiştiğinde ortaya çıkar.

3

click

Bir fare tıklandığında ortaya çıkar.

4

dblclick

Fare çift tıklandığında ortaya çıkar.

5

error

Yükleme veya boşaltma vb. Bir hata olduğunda oluşur.

6

focus

Öğe odaklandığında oluşur.

7

keydown

Tuşuna basıldığında oluşur.

8

keypress

Tuşuna basıldığında ve bırakıldığında oluşur.

9

keyup

Anahtar bırakıldığında oluşur.

10

load

Belge yüklendiğinde oluşur.

11

mousedown

Fare düğmesine basıldığında oluşur.

12

mouseenter

Fare bir öğe bölgesine girdiğinde oluşur.

13

mouseleave

Fare bir eleman bölgesinden ayrıldığında oluşur.

14

mousemove

Fare işaretçisi hareket ettiğinde oluşur.

15

mouseout

Fare işaretçisi bir elemanın dışına çıktığında oluşur.

16

mouseover

Fare işaretçisi bir öğenin üzerinde hareket ettiğinde oluşur.

17

mouseup

Fare düğmesi bırakıldığında oluşur.

18

resize

Pencere yeniden boyutlandırıldığında oluşur.

19

scroll

Pencere kaydırıldığında oluşur.

20

select

Bir metin seçildiğinde gerçekleşir.

21

submit

Form gönderildiğinde gerçekleşir.

22

unload

Belgeler kaldırıldığında oluşur.

Etkinlik Nesnesi

Geri arama işlevi tek bir parametre alır; işleyici çağrıldığında, JavaScript olay nesnesi içinden geçirilir.

Olay nesnesi genellikle gereksizdir ve parametre atlanır, çünkü işleyici, işleyici tetiklendiğinde tam olarak ne yapılması gerektiğini bilmek zorunda olduğunda genellikle yeterli bağlam mevcuttur, ancak erişmeniz gereken bazı özellikler vardır.

Etkinlik Özellikleri

Sr.No. Özellik ve Açıklama
1

altKey

Olay tetiklendiğinde Alt tuşuna basıldıysa doğru, değilse yanlış olarak ayarlayın. Alt tuşu, çoğu Mac klavyesinde Option olarak etiketlenmiştir.

2

ctrlKey

Olay tetiklendiğinde Ctrl tuşuna basılırsa true, değilse false olarak ayarlayın.

3

data

İşleyici kurulduğunda, varsa değer, bind () komutuna ikinci parametre olarak geçirildi.

4

keyCode

Keyup ve keydown olayları için bu, basılan tuşu döndürür.

5

metaKey

Olay tetiklendiğinde Meta tuşuna basıldıysa doğru, değilse yanlış olarak ayarlayın. Meta tuşu, PC'lerde Ctrl tuşu ve Mac'lerde Command tuşudur.

6

pageX

Fare olayları için, sayfanın başlangıcına göre olayın yatay koordinatını belirtir.

7

pageY

Fare olayları için, sayfanın başlangıcına göre olayın dikey koordinatını belirtir.

8

relatedTarget

Bazı fare olayları için, olay tetiklendiğinde imlecin bıraktığı veya girdiği öğeyi tanımlar.

9

screenX

Fare olayları için, olayın ekran başlangıcına göre yatay koordinatını belirtir.

10

screenY

Fare olayları için, olayın ekran başlangıcına göre dikey koordinatını belirtir.

11

shiftKey

Olay tetiklendiğinde Shift tuşuna basıldıysa doğru, değilse yanlış olarak ayarlayın.

12

target

Olayın tetiklendiği öğeyi tanımlar.

13

timeStamp

Etkinliğin oluşturulduğu zaman damgası (milisaniye cinsinden).

14

type

Tüm olaylar için, tetiklenen olayın türünü belirtir (örneğin, tıklama).

15

which

Klavye olayları için, olaya neden olan tuş için sayısal kodu belirtir ve fare olayları için hangi düğmeye basıldığını belirtir (1 sol için, 2 orta, 3 sağ için).

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $('div').bind('click', function( event ){
               alert('Event type is ' + event.type);
               alert('pageX : ' + event.pageX);
               alert('pageY : ' + event.pageY);
               alert('Target : ' + event.target.innerHTML);
            });
         });
      </script>
		
      <style>
         .div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
      </style>
   </head>
	
   <body>
      <p>Click on any square below to see the result:</p>
		
      <div class = "div" style = "background-color:blue;">ONE</div>
      <div class = "div" style = "background-color:green;">TWO</div>
      <div class = "div" style = "background-color:red;">THREE</div>
   </body>
</html>

Bu, aşağıdaki sonucu verecektir -

Etkinlik Yöntemleri

Bir Etkinlik Nesnesinde çağrılabilecek yöntemlerin bir listesi vardır -

Sr.No. Yöntem ve Açıklama
1 preventDefault ()

Tarayıcının varsayılan eylemi yürütmesini engeller.

2 isDefaultPrevented ()

Bu olay nesnesinde event.preventDefault () öğesinin hiç çağrılıp çağrılmadığını döndürür.

3 stopPropagation ()

Bir olayın üst öğelere köpürmesini durdurarak, herhangi bir üst işleyicinin olaydan haberdar edilmesini engeller.

4 isPropagationStopped ()

Bu olay nesnesinde event.stopPropagation () öğesinin çağrılıp çağrılmadığını döndürür.

5 stopImmediatePropagation ()

İşleyicilerin geri kalanının yürütülmesini durdurur.

6 isImmediatePropagationStopped ()

Bu olay nesnesinde event.stopImmediatePropagation () öğesinin hiç çağrılıp çağrılmadığını döndürür.

Olay Manipülasyon Yöntemleri

Aşağıdaki tabloda, olayla ilgili önemli yöntemler listelenmektedir -

Sr.No. Yöntem ve Açıklama
1 bağla (tür, [veri], fn)

Her eşleşen öğe için bir işleyiciyi bir veya daha fazla etkinliğe (tıklama gibi) bağlar. Özel olayları da bağlayabilir.

2 kapalı (olaylar [, seçici] [, işleyici (eventObject)])

Bu, canlı olmanın tersini yapar, bağlı bir canlı olayı kaldırır.

3 fareyle üzerine gelme (üzerinden, dışarı)

Fareyi bir nesnenin üzerine ve dışına hareket ettirme gibi gezinmeyi simüle eder.

4 on (olaylar [, seçici] [, veri], işleyici)

İşleyiciyi, tüm geçerli ve gelecekteki eşleşen öğe için bir etkinliğe (tıklama gibi) bağlar. Özel olayları da bağlayabilir.

5 bir (tür, [veri], fn)

Bir işleyiciyi, her eşleşen öğe için bir kez yürütülecek bir veya daha fazla olaya bağlar.

6 hazır (fn)

DOM geçiş yapılmaya ve değiştirilmeye hazır olduğunda yürütülecek bir işlevi bağlar.

7 tetikleyici (olay, [veri])

Eşleşen her öğede bir olay tetikleyin.

8 triggerHandler (olay, [veri])

Bir öğedeki tüm ilişkili olay işleyicilerini tetikler.

9 bağını çöz ([tür], [fn])

Bu, bind'in tersini yapar, ilişkili olayları eşleşen her bir öğeden kaldırır.

Etkinlik Yardımcı Yöntemleri

jQuery ayrıca, yukarıda bahsedilen herhangi bir olay türünü bağlamak için bir olayı tetiklemek için kullanılabilen bir dizi olay yardımcı işlevi sağlar.

Tetikleme Yöntemleri

Aşağıda, tüm paragraflarda bulanıklık olayını tetikleyecek bir örnek verilmiştir -

$("p").blur();

Bağlama Yöntemleri

Aşağıda, bir click tüm <div> olayları -

$("div").click( function () { 
   // do something here
});
Sr.No. Yöntem ve Açıklama
1

blur( )

Eşleşen her öğenin bulanıklık olayını tetikler.

2

blur( fn )

Eşleşen her öğenin bulanıklık olayına bir işlev bağlayın.

3

change( )

Eşleşen her bir öğenin değişiklik olayını tetikler.

4

change( fn )

Eşleşen her öğenin değişiklik olayına bir işlevi bağlar.

5

click( )

Eşleşen her bir öğenin tıklama olayını tetikler.

6

click( fn )

Eşleşen her öğenin tıklama olayına bir işlev bağlar.

7

dblclick( )

Eşleşen her öğenin dblclick olayını tetikler.

8

dblclick( fn )

Eşleşen her öğenin dblclick olayına bir işlev bağlar.

9

error( )

Eşleşen her elemanın hata olayını tetikler.

10

error( fn )

Eşleşen her öğenin hata olayına bir işlevi bağlar.

11

focus( )

Her eşleşen öğenin odak olayını tetikler.

12

focus( fn )

Eşleşen her öğenin odak olayına bir işlevi bağlar.

13

keydown( )

Eşleşen her bir öğenin keydown olayını tetikler.

14

keydown( fn )

Eşleşen her öğenin keydown olayına bir işlev bağlayın.

15

keypress( )

Her eşleşen öğenin tuşa basma olayını tetikler.

16

keypress( fn )

Eşleşen her öğenin tuşa basma olayına bir işlev bağlar.

17

keyup( )

Eşleşen her bir öğenin keyup olayını tetikler.

18

keyup( fn )

Eşleşen her öğenin keyup olayına bir işlev bağlayın.

19

load( fn )

Eşleşen her öğenin yükleme olayına bir işlev bağlar.

20

mousedown( fn )

Eşleşen her öğenin fare indirme olayına bir işlev bağlar.

21

mouseenter( fn )

Eşleşen her öğenin mouseenter olayına bir işlev bağlayın.

22

mouseleave( fn )

Eşleşen her öğenin mouseleave olayına bir işlev bağlayın.

23

mousemove( fn )

Eşleşen her öğenin mousemove olayına bir işlev bağlayın.

24

mouseout( fn )

Eşleşen her öğenin mouseout olayına bir işlev bağlayın.

25

mouseover( fn )

Eşleşen her öğenin fareyle üzerine gelme olayına bir işlev bağlayın.

26

mouseup( fn )

Eşleşen her öğenin mouseup olayına bir işlev bağlayın.

27

resize( fn )

Eşleşen her öğenin yeniden boyutlandırma olayına bir işlev bağlayın.

28

scroll( fn )

Eşleşen her öğenin kaydırma olayına bir işlev bağlayın.

29

select( )

Eşleşen her elemanın seçme olayını tetikleyin.

30

select( fn )

Eşleşen her öğenin select olayına bir işlev bağlayın.

31

submit( )

Eşleşen her öğenin gönderme olayını tetikleyin.

32

submit( fn )

Eşleşen her öğenin submit olayına bir işlev bağlayın.

33

unload( fn )

Eşleşen her öğenin unload olayına bir işlev bağlar.