Fare Uygulamaları

Sağ Tıklama, Sol Tıklama

Fareyle sağ tıklanıldığında, bir fonksiyon çağırmak için button (düğme) olay komutu kullanılır. event.button şeklinde yazılır ve sol tıklanırsa 1, sağ tıklanırsa 2 değerini alır.
<html> <head> <title>Sağ ve sol tıklama,</title> <script language="JavaScript"> function tikla() { if (event.button==1) yazi.innerHTML="Sol tıkladınız..." if (event.button==2) yazi.innerHTML="Sağ tıkladınız..." } </script> </head> <body onmousedown="tikla()"> <a id="yazi">Fareyle sayfanın üzerine tıklayınız.</a> </body> </html>
[Sayfayı göster] [Temizle] [İlk haline getir]
İmlecin Koordinatları

İmlecin sayfadaki konumuna göre kod yazmak isteyebiliriz. İmlecin hangi yatay ve düşey koordinatlarda olduğunu belirlemek için clientX, clientY veya offsetX, offsetY veya x, y olay komutlarından yararlanılır. Kısa bir uygulama yapalım:
<html> <head> <title>Pencere koordinatları,</title> <script language="JavaScript"> function imlec() { var a=event.x var b=event.y yazi.innerHTML="Pencere Koordinatları = (" + a + ";" + b + ")" } </script> </head> <body onclick="imlec()"> <h3 id="yazi">Fareyle sayfanın üzerine tıklayınız.</h3> </body> </html>
[Sayfayı göster] [Temizle] [İlk haline getir]

Verdiğimiz diğer kodları da siz deneyin, aynı sonuca ulaşacaksınız. Bu kodların hepsi imlecin, pencerenin sol üst köşesine olan yatay ve düşey mesafeyi piksel cinsinden vermektedir. Eğer pencerenin değil de ekranın sol üst köşesine olan yatay ve düşey mesafeyi edinmek istiyorsak, screenX, screenY komutlarını kullanırız.
<html> <head> <title>Ekran koordinatları,</title> <script language="JavaScript"> function imlec() { var a=event.screenX var b=event.screenY yazi.innerHTML="Ekran Koordinatları = (" + a + ";" + b + ")" } </script> </head> <body onclick="imlec()"> <h3 id="yazi">Fareyle sayfanın üzerine tıklayınız.</h3> </body> </html>
[Sayfayı göster] [Temizle] [İlk haline getir]
Tuş Fare Kombinasyonları

Gelişmiş programlarda (MS Office, Adobe Photoshop vb.) tıklamak ile shift'e basarak tıklamak arasında fark vardır. Eğer bu farkı web sayfalarınıza taşımak istiyorsanız event.shiftKey olay komutunu kullanabilirsiniz. Bu komut shift tuşuna basılıp, basılmadığını gösterir; eğer onclick durumunda event.shiftkey kodu kullanırsanız, kullanıcının tıkladığında shift'e basıp basmadığını kontrol etmiş olursunuz. Aynı şekilde bu kodu onmouseover durumunda kullandığınızda, fareyle nesnenin üzerine gelindiğinde shift'e basılıp, basılmadığını kontrol etmiş oluruz. Bu çeşit fare tuş kombinasyonları türetebiliriz.
<html> <head> <title>Tuş fare kombinasyonları,</title> <style> table {visibility:hidden} </style> <script language="JavaScript"> function rubai() { if (event.shiftKey==0) { hayyam.style.visibility="visible" yazi.innerHTML="Ey kör! Bu yer, bu gök, bu yıldızlar boştur boş!<br>Bırak onu bunu da gönlünü hoş tut hoş!<br>Şu durmadan kurulup dağılan evrende<br>Bir nefestir alacağın, o da boştur boş!" } else { var yenisayfa = window.open("", "Yeni_Sayfa", "toolbar=no,location=no,directories=no, status=no, menubar=no,scrollbars=no, resizable=no,copyhistory=no,width=400, height=120") yenisayfa.document.write("Ey kör! Bu yer, bu gök, bu yıldızlar boştur boş!<br>Bırak onu bunu da gönlünü hoş tut hoş!<br>Şu durmadan kurulup dağılan evrende<br>Bir nefestir alacağın, o da boştur boş!") } } </script> </head> <body> <form> <p>Düğmeye normal tıklamakla, <b>Shift</b>'e basarak tıklamak arasında fark var.</p> <input type="button" value="Ömer Hayyam" onclick="rubai()"> </form> <center><table id="hayyam" cellpadding="5" cellspacing="0" border="0" width="400" bgcolor="#D0BB82"> <tr><td id="yazi">Rubai</td></tr></table></center> </body> </html>
[Sayfayı göster] [Temizle] [İlk haline getir]

Bu uygulamamızda onclick olayında event.shiftKey kodu kullandık, böylece fare ile shift tuşunun beraber basılmasına kod yazdık. event.shiftKey'e 1/0 gibi true/false değerleri verebiliriz. Benzer şekilde Alt ve Ctrl tuşları için şu olay kodlarını kullanabilirsiniz: altKey, ctrlKey.

Kaynak www.volkanderinbay.net/ders/dersjscr.asp
Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...