JQuery çok yaygın olan bir JavaScript kütüphanesi. Bu sayfada JQuery kütüphanesini en baştan başlayarak ele alacağız.
JQuery bir HTML kodu içinde özellikleri verilen elemanları bulup , bu elemanlar üzerinde stiller, olaylar, içerikler vs. üzerinde işlemler yapmayı kolaylaştırmayı hedefleyen bir JavaScript kütüphanesidir.
JQuery MIT lisanslı açık kaynak kodlu bir kütüphanedir ve dünyada yayınlanan web sitelerinin %70'inden fazlasında kullanılır.
JQuery şu prensipler ışığında tasarlanmıştır :
JQuery geliştiricilerin işlerini daha az kod yazarak yapmalarına yardımcı olacak şekilde tasarlanmıştır. Aşağıda bazı önemli temel JQuery özelliklerinin bir listesi var.
JQuery kurmak için 2 yöntem vardır.
JQuery kütüphanesini web server'ınıza yükleyip yerel bir JavaScript dosya gibi web sitenizde kullanabilirsiniz. Daha iyi bir performans için sıkıştırılmış dosya kullanmanız tavsiye edilir.
JQuery kütüphanesini CDN server'larından da kullanabilirsiniz. Bu sayede hem server'ınızda yer kaplamaz (ki oldukça küçük bir yer kaplıyor aslında), hem de eğer web sitenizi gösteren tarayıcı aynı dosyayı başka sitelerde gezerken indirmiş olabilir ve cash'inden daha hızlı kullanabilir. Aşağıdaki örnek Google CDN server kullanıyor.
Bu da aynı şekilde çalışacaktır.
JQuery ile yapacağımız hemen her şey DOM elemanlarını okumak ve manipüle etmek üzerinedir. Bu yüzden bir işlem yapmadan önce DOM elemanlarının tamamen yüklenmiş olduğundan emin olmalıyız.
Eğer bir olayın sayfanızda çalışmasını istiyorsanız onu $(document).ready()
fonksiyonu içinde çağırmalısınız. Buraya konan her kod DOM elemanları yüklendikten sonra
çalışacaktır.
Aslında daha sonra ayrıntılarını öğreneceğimiz gibi bu kod document
elemanının
ready
olayına bir işlem eklemek işini yapıyoruz burada. ready
olayı da
dökümanın tamamıyla tarayıcıya yüklendiği anda tetiklenen bir olaydır.
Bu doğrultuda bir JQuery fonksiyonunu çağırma şekli sayfa kodunuzda bu örnekte verildiği gibi olacaktır.
En iyisi kendi scriptlerinizi de ayrı bir .js
dosyası içinde toplamak olur.
Örneğin scriptimizi /jquery/custom.js adında bir dosyada saklayalım.
Sonra bu dosyayı HTML kodumuza dahil edelim
Şimdi daha sade oldu. Yukarıdaki kodları anlamadıysanız merak etmeyin, yakında her birini tekrar tekrar görerek anlayacaksınız.
JQuery deyim yapısını görmeden önce JavaScript kodlamanın temellerini bir gözden geçirelim. Çünkü JQuery JavaScript kodları kullanan bir kütüphane, yani JQuery kütüphanesini kullanırken birçok JavaScript deyimler kullanacaksınız. JQuery'de çok kullanılan temel teknikleri bir gözden geçirerek başlayalım.
JavaScript'te bir string
değer bir ya da birden çok karakterden oluşan bir yazı
değeridir, ayrıca string'de hiç sayıda karakter de olabilir (null). Aşağıda geçerli JavaScript
string değerlerine örnekler var.
"Bu bir JavaScript String"
'Bu bir JavaScript String'
'Bu "gerçekten" bir JavaScript String'
"Bu 'gerçekten' bir JavaScript String"
JavaScript'de sayılar 64-bit düzende double-precision IEEE 754 standardı değerlerdir. String gibi bunlar da sabit değerlerdir. Aşağıda JavaScript sayılara geçerli örnekler veriliyor.
5350
120.27
0.26
JavaScript'de boolean
bir değer doğru-yanlış değerler olan true
veya
false
değerlerinde olabilir. Bir sayı değeri sıfır
sa buna karşılık
boolean değer false
olur. Boş bir string de boolean olarak false
olur.
Bunların dışındaki sayı ve stringler true
olarak boolean değere karşılık gelirler.
Aşağıda geçerli boolean değer örnekleri var.
JavaScript (ve tabi ki JQuery) nesne yapısını çok etkili kullanır. Bir nesneyi aşağıdaki tanımlama tekniğiyle tanımlayabilirsiniz.
Nesnenizin özelliklerine noktalı kodlama ile erişebilirsiniz.
Array'leri aşağıdki teknikle tanımlarsınız.
Bir array'in length
özelliğini kullanarak elemanları üzerinde iterasyon yapabilirsiniz.
JavaScript'de (JQuery'de) bir fonksiyon isimlendirilmiş ya da anonim olarak tanımlanabilir.
İsimlendirilmiş bir fonksiyon tanımlamak için aşağıdaki gibi function
deyim
yapısı kullanılır.
Anonim fonksiyonlar da aynı isimlendirilmiş fonksiyonlar gibi tanımlanır ancak bu sefer bir isim değeri girilmez.
Bir anonim fonksiyon aşağıdaki gibi bir değişkene değer olarak verilebilir ya da bir metoda parametre değeri olarak verilebilir.
JQuery anonim fonksiyonları aşağıda göründüğü gibi metod parametresi olarak oldukça yoğun kullanır.
Parametreler ya da argümanlar JavaScript'de fonksiyona içinde kullanması için verilen değişken değerleridir. Aşağıdaki örnek bunu güzelce açıklıyor.
arguments
nesnesi içinde bulunulan fonksiyonun adını gösteren callee
adında
bir özelliğe sahiptir.
Meşhur JavaScript kelimesi this
her zaman içinde bulunulan bağlamı
ifade eder. Bir fonksiyon içinde kullanılan this
kelimesi
fonksiyonun bağlandığı nesneyi ifade eder.
Bir fonksiyonda geçerli bağlamı call()
veya apply()
metodları kullanarak
değiştirilebilir.
Aralarındaki fark parametreleri nasıl verdiklerine göre değişir. call()
parametreleri olduğu gibi fonksiyona geçirirken apply()
parametreleri
bir array içinde alır.
Bir değişkenin kapsamı yani geçerli olduğu bölge tanımlandığı yerdir. JavaScript değişkenlerin sadece 2 kapsamı olabilir.
Bir fonksiyon içinde tanımlanan bir yerel değişken programda tanımlı bir global değişken ile aynı isme sahip olabilir. Bu durumda değişken yerel olarak çalışacaktır.
Callback adı verilen fonksiyonlar JavaScript metodlarına parametre olarak verilen anonim fonksiyonlardır. Bazı callback'ler bir olay oluştuğunda yapılacakları içeren olay işleme fonksiyonlarıdır.
JQuery'nin olay işleme yapısı bu callback'leri çok sıklıkla kullanır.
Yukarıdaki JQuery kodu body
elemanı içinde herhangi bir yere tıklanınca
click
olayının içinde yapılacakları gösteriyor. click
olayı bizden
bir callback fonksiyonu parametre olarak girmemizi bekler. Eğer fonksiyon içinde çok fazla kod
olacaksa fonksiyonu isimli bir şekilde tanımlayıp , aşağıdaki şekilde de kullanabilirsiniz.
Dikkat ederseniz olay işleyiciye isimlendirilmiş bir fonksiyonu callback değeri olarak verirken
sadece body_clicked
şeklinde adını girdik. Bir fonksiyon çağırır gibi
body_clicked()
yazılmaz. Eğer böyle yazarsanız önce body_clicked
fonksiyonu
çalışır ve ondan dönen değer click
metoduna parametre olarak verilir, halbuki biz
fonksiyonun kendisinin parametre olmasını istiyoruz.
Bir ayrıntı da örnekteki event
değişkeni. Olay işleme callback'lerinde fonksiyonun ilk
parametresi olan event
değişkeni aslında olayı ifade ediyor. Bu örnekte
event.target
denince tıklamanın hangi elemana yapıldığı gelir.
Bazı callback'lerin değer dönmesi istenebilir. Aşağıda bir formun gönderilmesinin başarısız
olduğunu bildirmek için false
değeri dönmesi sağlanıyor.
Bu konu aslında ağır bir konu ama örnekle açıklamaya çalışacağım. Closure bir fonksiyon içinde tanımlanan değişkene daha iç seviyede bir fonksiyondan erişildiğinde oluşur. Örneklerle açıklamaya çalışayım.
Bu örneği incelediğimizde dönüş değeri olarak fonksiyonlar dönen bir fonksiyon var. Ana gövde olan
create()
içinde tanımlanan counter
değişkenine iç fonksiyonlar olan
increment()
ve print()
fonksiyonlarından erişilebiliyor. Ama fonksiyon
dışından direk bu değişkene erişilemez, sadece ana fonksiyondan geri dönen nesnenin metodları
yardımıyla erişilebilir.
var c = create();
satırında c nesnesine sadece create()
fonksiyonunun
dönen (return) değeri olan 2 fonksiyon yüklenmiyor, counter
değeri de aslında c
nesnesi içinde ama dışarıdan c.counter
şekliyle erişilemez. create()
fonksiyonu sadece bir kere çalıştırıldığı için var counter = 0;
satırı sadece bir
kez çalışıyor ve c nesnesi içindeki counter
değeri ilk çalıştırmada sıfırlanıyor.
Daha sonra c.increment()
metodu her kullanıldığında counter
değeri
bir artıyor. c nesnesinin içini görmek için konsola yazdırırsanız.
Gördüğünüz gibi closure kelimesi tarayıcının konsolunda da karşımıza çıktı. Değişkenler kapsamında
counter
değişkeni iç fonksiyonlarda closure
oarak görünüyor.
Biraz daha karmaşık bir örnek verelim.
Burada add
değişkeni parantez içindeki fonksiyonun çalışması sonucu geri dönen
fonksiyon. Yani (function(){...})()
notasyonu o fonksiyondan dönen fonksiyonu
add
değişkenine veriyor. Bu durumda add()
şeklinde bu değişkenin
fonksiyon olarak çalıştırılması counter
closure değerini arttırıp geri dönen
değer olarak veriyor. Artık ortada c nesnesi gibi nesne de yok ama
counter
değeri hala bir yerlerde duruyor ama sadece metodlarla ulaşılabiliyor.
JavaScript birçok yararlı fonksiyona sahiptir. Bunlar String , Sayı veya Tarih değerleri işlemek için kullanılırlar.
Aşağıda yararlı bazı JavaScript fonksiyonları hakkında kısa bilgilendirme görülüyor.
DOM web sayfamızın HTML kodunda yer alan elemanların yerleşim ağacıdır. Aşağıdaki basit HTML kodu ele alalım.
DOM ağacını esasen bir soy ağacına benzetebiliriz. Yukarıdaki ağacın önemli noktaları şunlardır.
<html>
elemanı diğer tüm elemanların kapsayıcısıdır yani herkesin atasıdır.
<head>
ve <body>
elemanları <html>
elemanının mirasçılarıdır. Ama bir alt eleman oldukları için özel bir isimlendirmeleri vardır.
Bunlar <html>
elemanınınn çocuklarıdır ve child
eleman olarak adlandırılır.
<html>
elemanı <head>
ve <body>
elemanlarının atası olmakla beraber bir üst eleman olduğu için velisi yani parent
olarak isimlendirilir.
<p>
elemanları <div>
elemanının çocuklarıdır (yani child
eleman). Aynı zamanda <html>
ve <body>
elemanlarının da
torunlarıdır. Aynı zamanda da birbirlerinin kardeşleridirler.
JQuery konseptlerini öğrenirken DOM ağacı yapısını çok iyi anlamak işleri çok kolaylaştıracaktır.
JQuery bir HTML dökümandan herhangi bir HTML elemanı bulup onun üzerinde işlemler yapmak için kullanılır. Bir HTML elemanını bulmak için JQuery seçicileri kullanılır. Bu seçicileri bir sonraki bölümde ayrıntılı inceleyeceğiz. Öncelikle JQuery ile bir elemanı bulup onun üzerinde işlemler yapmak için kullanılan deyim yapısını görelim.
JQuery deyim yapısına girmeden önce Document Ready Olayını açıklayalım. gerçekte bir JQuery kodunu çalıştırmadan önce HTML dökümanın tamamen yüklendiğinden emin olmalıyız. Elemanları bulup üzerinde işlem yapacağız ya, yüklenmemiş bir elemanı bulamayız di mi? Bu amaçla JQuery kodlarımızı Document Ready olayını işleyen blok içine yazmalıyız.
Temel olarak Document Ready olayını işleyen deyim yapısı şöyledir.
Alternatif olarak JQuery tarafından sağlanan kestirme bir yazım da kullanabilirsiniz.
Not : Eğer JQuery kodunuzu HTML kodu içinde gömülü kullanacaksanız. Document Ready olay kodunu mutlaka <script>...</script> tag içine yazmalısınız ve ya <head>...</head> bölümü içine ya da en altta <body> tag'ini kapatmadan hemen önce yani dökümanın son yüklenen kısmına koymalısınız.
Aşağıda bir elemanı bulup onun üzerinde işlem yapan temel JQuery deyim yapısı gösteriliyor.
Herhangi bir JQuery satırı bir $ sembolü ile başlar. Sonrasında parantez içinde
bir seçici ifade girersiniz. Bu $(seçici)
deyimi bulmak istediğimiz
eleman ya da elemanları bize geri dönecektir. Fakat elemanlar üzerinde bir işlem yapmak
isterseniz işlem()
kısmını da eklemelisiniz.
Not : ana yapının en önemli taşı $()
, aynı zamanda
jQuery()
fonksiyonu ile aynı anlamda. Yani başka bir JavaScript kütüphanesi ile
birlikte kullanırken eğer $ işareti orada başka anlamlar taşıyorsa , jQuery
kodlarınız ile karışmaması için jQuery()
olarak kullanabilirsiniz.
En dıştaki $(document).ready(...)
de aslında dikkat ederseniz aynı deyim yapısına
sahip. Burada seçici olarak kullanılan document
kelimesi içinde bulunulan
sayfayı bulup geri dönüyor. Sonra elemanın ready()
metodunu kullanarak sayfa
tamamen yüklendikten sonra çalışacak kodlarımızı yazıyoruz.
Aşağıda temel jQuery deyim yapısını gösteren birkaç örnek görülüyor. İlk örnek bir HTML
döküman içindeki tüm <p>
elemanları bulur ve onları görünmez yapar.
Bu örneği $()
yerine jQuery()
kullanarak yazalım ve aynı şekilde
çalıştığını test edelim.
Bu da aynı şekilde sayfadaki <p>
elemanlarını görünmez yapacaktır.
Görünmez diyorum çünkü tarayıcınızın Geliştirici Araçları ile incelerseniz <p>
elemanlarının hala HTML elemanlar içinde olduğunu ama <p style="display: none;">
şeklinde stili değiştirilerek görünmez olmalarının sağlandığını göreceksiniz.
Aşağıdaki örnek <h1>
elemanlarının rengini kırmızıya döndürür.
Bu bir p tag
Bu bir span tag
Benzer bir teknikle tüme .red
sınıfına sahip elemanların rengini kırmızıya
döndürmek için şu kodu kullanırsınız.
Bu bir p tag
Bu bir span tagBu bölümde de jQuery deyim yapısının temellerini gördük. Örneklerdeki değerleri değiştirerek değişik çalışmaları test ederek anlamanızı geliştirebilirsiniz.
JQuery'nin en önemli işlevi olan elemanları bulma işi için seçici adı verilen ifadeler kullanılır. Bu bölümde 3 değişik jQuery seçici türüne ait basit örnekleri yaparak anlamaya çalışalım.
JQuery seçiciler bir HTML döküman içerisinde istenen kritere uygun elemanları bulmaya yarar.
Örneğin bir HTML döküman içerisindeki tüm <div>
elemanları bulmak
istiyorsanız jQuery seçicileri kullanacaksınız demektir.
JQuery seçiciler aşağıdaki kriterlere göre HTML elemanları bulurlar.
JQuery kütüphanesi stillerde kullandığımız CSS seçicileri
kullanır. Böylece DOM
elemanlarını bilinen yöntemlerle bulabilirsiniz.
Aşağıdaki kod HTML elemanları bulup getirmeye yarayan JQuery Seçici Deyimi gösteriyor.
Bir jQuery seçici $
sembolü ile başlar ve seçici ifadeyi
parantez içine yazarız. Burada $()
kodu standart fonksiyondur ve bize 3 yöntemle
HTML elemanları bulma imkanı sunar.
Seçici Adı | Açıklama |
---|---|
Eleman seçici |
DOM içinde aranan elemanın adı verilir. Örneğin $("p") sayfadaki tüm
<p> (paragraf) elemanlarını bulur.
|
#id seçicisi |
Belirtilen ID değerine sahip elemanları DOM içinde bulur. Örneğin $("#id-değer")
ile id="id-değer" özelliğine sahip elemanlar bulunur.
|
.class seçicisi |
Belirtilen class değerine sahip elemanları DOM içinde bulur. Örneğin $(".bir-class")
ile class="bir-class" özelliğine sahip elemanlar bulunur.
|
Tüm yukarıdaki seçici ifadeler tek başlarına ya da birbirleri ile kombinasyon yaparak kullanılabilir.
JQuery eleman seçicisi aranan HTML elemanı adına göre arar. Aşağıda temel eleman seçici deyim yapısı görülüyor.
JQuery'de eleman adına göre arama yaparken elemanın adını açılı braketler olmadan tırnak içinde
yazmalısınız. Yani "<p>"
şeklinde değil sadece "p"
şeklinde.
Aşağıdaki örnekte bir HTML kodu içindeki tüm paragrafları bulup bunların arkaplan rengini değiştiriyoruz.
Bu bir p tag
Bu bir span tag
JQuery #id
seçicisi HTML elemanını id
özelliğine verilen değere
göre bulur. Aşağıda temel #id
seçici deyim yapısı görülüyor.
Aşağıdaki örnek id
değeri foo
olan paragrafı bulur ve arkaplan rengini
değiştirir. Kodu diğer id değerine sahip elemanlar için de test edebilirsiniz.
Bu "foo" id değere sahip p tag
Bu "bar" id değere sahip span tag
JQuery .class
seçicisi HTML elemanları class
özelliğine verilen değere
göre arar. Aşağıda temel deyim yapısı görünüyor.
Aynı CSS seçicilerde olduğu gibi id değer ifade ederken #
işareti ile başlarken ,
class değeri ifade edilirken de .
ile başlanır. HTML içinde aynı class değerine
sahip birden fazla eleman olabileceğinden bu seçici kullanıldığında verilen class değerine sahip
tüm elemanlar gelir.
Aşağıda foo sınıfına sahip tüm elemanların arkaplan rengini değiştiren kod görülüyor.
Bu "foo" class değere sahip p tag
Bu "foo" class değere sahip başka bir p tag
Modern bir web uygulaması değişik olaylara göre davranışlara sahip olacaktır. Olaylar etkileşimli web sayfaları yapmanın mekanizmasıdır. JQuery bir HTML sayfasında oluşan olayları işlemekte çok başarılıdır. İlk önce olay kelimesinin anlamını bir kavrayalım.
JavaScript'de ya da JQuery'de olay , bir aksiyonun sonucunda oluşur. Bu olaylar tetiklendiğinde kendi fonksiyonunuzla olaya ait işlerinizi yapabilirsiniz. Bu kendi fonksiyonlarınıza olay işleyici adı verilir.
JQuery kütüphanesi DOM olaylarını işlemek için birçok yararlı metodlara sahiptir. Böylece olay işleme rutinleri JavaScript'e nazaran çok daha kolay yazılailir.
Aşağıda bazı çok kullanılan olay türleri sıralanıyor.
Aşağıdaki tabloda bazı önemli DOM olaylarının bir listesi görülüyor.
Mouse Olayları |
Tuş Takımı Olayları |
Form Olayları |
Document Olayları |
click | keypress | submit | load |
dblclick | keydown | change | resize |
hover | keyup | select | scroll |
mousedown | blur | unload | |
mouseup | focusin | ready |
Bu bölümde bu olayların bir kısmını örneklerle göreceğiz
Örneğin HTML döküman içindeki bir <div>
elemanına tıklandığında bir
şeyler olmasını istiyorsunuz. Bunu elde edebilmek için jQuery yardımıyla <div>
elemanına bir olay işleyici fonksiyonu bağlamanız gerekir.
Aşağıda bir HTML döküman içindeki herhangi bir <div>
elemanına tıklanınca
çalışmasını istediğiniz fonksiyonu click
olayına bağlamak için kullanılan deyim
yapısı görünüyor.
Sonraki adım click
olayına karşı gelen fonksiyonu tanımlamak. Bu fonksiyon tanımı
click()
metodu parametresi olarak direk yerinde yapılabilir. Bu fonksiyona
Jquery Olay İşleyici adı verilir.
Başka bir olay işleyici bağlama yöntemi de bind()
metodunu kullanmaktır.
bind()
metoduna 2 parametre verilir. İlk parametre olay adının bir string değer
olarak verilmesi, ikinci parametre ise aynı yukarıdaki gibi olay işleyici fonksiyonun tanımlamasıdır.
Fonksiyon tanımlama içeriği çok uzun olacaksa fonksiyon başka yerde tanımlanıp parametrede sadece
adı da verilebilir.
gibi. Dikkat ediniz burada sadece fonksiyonun adını yazıyoruz. div_click()
yazarsak yanlış
olacaktır. Çünkü o durumda fonksiyon çalıştırılır ve geri dönen değer parametre olarak verilir. Halbuki
biz fonksiyonun kendisinin parametrede olmasını istiyoruz. Bu durumda parantezler olmadan sadece fonksiyon
adı yazılır.
Aşağıda <div>
elemanlarından birine tıklayınca alarm popup'ı gösteren kod örneği var.
Herhangi bir kutuya tıklayın ve mesajı görün.
Aynısının çift tıklama ile çalışmasını istiyorsanız sadece olay adını dblclick
yaparsınız
Herhangi bir kutuya çift tıklayın ve mesajı görün.
mouseenter
olayı mouse işaretçisi eleman üzerine geldiğinde oluşur.
mouseleave
olayı da mouse pointer eleman dışına çıkınca oluşur.
Herhangi bir kutu üzerine gidin.
mousedown
olayı eleman üzerinde mouse butonuna bastığımız anda oluşur.
mouseup
olayı eleman üzerindeyken basılı olan mouse butonunu bırakınca oluşur.
Herhangi bir satır üzerinde buton basın ya da bırakın.
Bir jQuery olayı ateşlendiğinde jQuery olay işleyici fonksiyona bir event nesnesi gönderir. Bu nesne gerçekleşen olayla ilgili bir çok yararlı bilgiyi içinde bulundurur.
Event nesnesi olay işleyici fonksiyona parametre olarak verilir. Daha önceki örneklerimizde bu nesneyi kullanmadığımız için bu parametreyi hep boş bıraktık, ama eğer kullanacaksak ona bir isim verir ve sonra aynı isimle fonksiyon içinde kullanarak içerdiği bilgilere erişebiliriz.
Aşağıda bu olay nesnesinin içerdiği bazı bilgilerin bir listesi görülüyor.
Özellik | Açıklaması |
altKey |
Olay tetiklendiği anda eğer Alt tuşu basılıysa true değeri
alır, değilse false . Alt tuşunun Mac sistemde karşılığı Option
tuşudur.
|
ctrlKey |
Olay tetiklendiği anda eğer Ctrl tuşu basılıysa true değeri
alır, değilse false .
|
data |
Eğer olay işleme fonksiyonunu çağırırken başka değerler de göndermek isterseniz,
bind() metodunda olay isminden sonra ve fonksiyon tanımından önce
ikinci bir parametreyi nesne şeklinde verirsiniz ve o nesne bu data
özelliğine gelir.
|
keyCode |
keyup ve keydown olaylarını işlerken bu özellik
basılan tuşun kodunu verir.
|
metaKey |
Olay tetiklendiğinde Meta tuşu basılıysa true değer alır. PClerde
Meta tuşu Ctrl tuşudur. Mac'lerde Command tuşudur.
|
pageX | Mouse olayları için olayın gerçekleştiği pozisyonun sayfa orjinine göre yatay koordinatını verir. |
pageY | Mouse olayları için olayın gerçekleştiği pozisyonun sayfa orjinine göre dikey koordinatını verir. |
relatedTarget | Bazı mouse olaylarında olay tetiklendiğinde mouse işaretçinin girdiği ya da terkettiği elemandır. |
screenX | Mouse olayları için olayın gerçekleştiği pozisyonun ekran orjinine göre yatay koordinatını verir. |
screenY | Mouse olayları için olayın gerçekleştiği pozisyonun ekran orjinine göre dikey koordinatını verir. |
target | Olayın tetiklendiği eleman değerini içerir. |
timeStamp | Olayın gerçekleştiği anın milisaniye olarak değeridir. |
type |
Tüm olaylar için , tetiklenen olayın tipidir. Örneğin click .
|
which | Tuş takımı olayları için olaya sebep olan tuşun kodudur. Mouse olayları için hangi butonun tıklandığıdır. (sol için 1, orta için 2, sağ için 3). |
Aşağıdaki örnekte farklı koordinatlarda kutulara tıklanınca olanlar işleniyor.
Herhangi bir kutuya tıklayın.
Birçok seferinde olay işleyici fonksiyonu içinde this
kelimesini kullanmak
işleri kolaylaştırır. Bu değişken olayı tetikleyen DOM elemanı içerir.
Aşağıdaki örnek tıklanan <div>
elemanı içinde yazanı gösterir.
Herhangi bir kutuya tıklayın.
Normalde bir olay işleyici bir kere bağlandı mı sayfa yaşadığı müddetçe geçerlidir ve çalışır. Ama bazen olay işleyiciyi iptal etmek gerekebilir.
JQuery unbind()
metodu mevcut bir olay işleyiciyi iptal etmek için kullanılır. unbind()
metodunun kullanımı aşağıda görülüyor.
seçici.unbind(eventType, handler);
ya da
seçici.unbind(eventType);
Parametrelerin açıklaması şöyle :
JQuery , HTML elemanlarının bağlı özellik değerlerini değiştirmek için sıklıkla kullanılır. Her HTML elemanın değişik standart ya da kendine has özellikleri olabilir. Bunlar elemanın karakteristiğini belirler.
JQuery bize eleman özelliklerini okumak ya da değiştirmek için kolay yöntemler sunar. Öncelikle standart ve kendine has özellikler nelerdir, onlara bakalım.
Çok kullanılan standart özeeliklerden bazıları :
Aşağıdaki resim elemanının özelliklerine bir bakalım.
Bu elemanın kodlamasında tag ismi img
, id, src, alt, class ve
title elemanın standart özellikleridir. Her birinin bir adı ve bir değeri olur.
HTML bize DOM elemanlarına isteğimize göre değişik özellik değerleri vermemiz için bir deyim
yapısı sunuyor. Bu özelliklerin isimleri data-
ile başlamalıdır.
Aşağıdaki örnekte elemana özel değer olarak data-copyright
özelliği kullanılmış.
JQuery attr()
metodu, bir HTML elemana ait standart özelliğin değerini okumak için
kullanılır. JQuery seçici kullanarak eleman(lar) seçilir ve arkasından
attr()
metodu, parametresinde istenen özelliğin adı string olarak verilerek,
istenen özellik okunur.
Eğer seçilen elemanlar birden çoksa bu method, jQuery Array iterasyonları ile işlenebilecek bir değer dönecektir.
Aşağıda bir <a>
elemanının href
ve title
özelliklerini okuyan bir örnek görülüyor.
Sonucu görmek için aşağıdaki butona tıklayın :
JQuery data()
metodu elemana has özellikleri okumak amaçlı kullanılır. JQuery
seçiler ile eleman(lar) seçilir ve data()
metodu ile özellik okunur.
Aşağıda bir <div>
elemanından data-author-name
özelliğinin
değerinin nasıl okunacağı gösteriliyor.
Sonucu görmek için butona tıklayın :
JQuery attr(isim, değer)
metodu ile elemanın ya da elemanların istenen değeri
değiştirilir. JQuery seçiciler ile eleman(lar) seçilir ve attr(isim, değer)
ile
değer değiştirilir.
Eğer seçici ile birden fazla eleman bulunduysa , tüm bulunan elemanların ismi verilen özelliği verilen değere değiştirilir.
Aşağıda bir <a>
elemanının title
değerinin değiştirilmesi
gösteriliyor.
Sonucu görmek için aşağıdaki butona tıklayın :
Yukarıdaki Home linkinin üzerine butonu tıklamadan önce ve sonra mouse işaretçisini getirip ipucu yazısına bakın.
JQuery data(isim, değer)
metodu elemanın kendine has data-*
özelliklerinin değerini değiştirmek için kullanılır.
Eğer seçici ile birden fazla eleman bulunduysa , tüm bulunan elemanların ismi verilen özelliği verilen değere değiştirilir.
Aşağıdaki jQuery program bir <div>
elemanının data-author-name
adı verilen özelliğini değiştiriyor.
Sonucu görmek için aşağıdaki butona tıklayın :
Kısa bir not ekleyelim. Standart özelliklerden birinin değerini değiştirince , tarayıcınızın
geliştirici araçlarında elemanlar listesinde direk görebilirsiniz. Ancak
data-*
özellikleri aynı yerde canlı değişimini görmeyebilirsiniz, ama JavaScript
kodlarında yeni değer çalışacaktır.
AJAX kelimesi Asynchronous JavaScript and XML cümlesi başharflerinden oluşur. Bu teknik bize syfayı yeniden yüklemeden server'dan verileri okuma fırsatı verir.
AJAX teknolojisinde yeniyseniz, başlamadan önce temellerini öğrenmenizi tavsiye ederiz.
JQuery yeni jenerasyon web uygulamaları geliştirmenizi kolaylaştıracak birçok AJAX araçlarına sahiptir.
JQuery load()
metodu ile statik ya da dinamik verileri kolayca jQuery AJAX
kullanarak okuyabilirsiniz.
load()
metodunun temel deyim yapısı şöyle :
Parametrelerin açıklaması şöyle :
Aşağıdaki örnekte bir HTML elemanın içeriğini server'daki başka bir dosyadan okuduğu değere değiştiren bir kod görülüyor.
Server'da /jquery/result.html dosya içeriği de şöyle olsun
Butona tıklayarak /jquery/result.html dosyasından içerik yükleyin −
Burada load()
metodu belirtilen URL adresindeki /jquery/result.html
dosyası için bir AJAX isteği başlatır. Yükleme tamamlanınca server'dan dönen cevap id
değeri stage
olan <div>
elemanına içerik olarak yüklenir.
Eğer server'da veriyi JSON formatında bir text dosyada saklıyorsak, veriyi daha kolay işlemek için
jQuery'nin getJSON()
metodunu kullanarak veriyi okumak çok daha avantajlı olacaktır.
getJSON()
metodu load()
metodu ile aynı parametreleri alır ama bir farkla.
Olay işleme fonksiyonuna verilen ilk parametre sadece bir string olarak değil, geri dönen JSON
değerin bir JavaScript nesne olmasını sağlar.
Öncelikle veri dosyamızdan başlayalım. /jquery/result.json dosyamızın içinde şunlar olsun :
Şimdi de bir önceki örnekteki <div>
elemanı içeriğini bu JSON veriye göre
olay işleme fonksiyonu içinde değiştirelim.
Butona tıklayarak /jquery/result.json dosyasından içerik yükleyin −
.
.