Normalde "<a>" olan bir öğenin "href" özelliğine bir adres yazdığınızda o adrese gider ya da "onclick" "onserverclick" gibi öğeler ile de o tıklamayı başka bir şekilde işlevli hale getirmeniz mümkün.
Çok fazla ihtiyaç olacağını düşünmesem de bazı durumlar span, div, li, gibi html elementlerine de tıklanmalarına bağlı işlem yaptırmak isteyebilirsiniz. Tabii ki bu pek sağlıklı bir durum değil, tarayıcı farklılıkları, domdaki başka şeylerle kesişmek gibi ihtimaller mevcut. Çünkü bu işlemi başka bir şekilde belirlemeniz gerekiyor. Bu olayı sağlayacak bir kaç yol görmüş olsam da en güvenilir olanını şu şekilde gösterebilirim.
Elimizde "list" id sine sahip bir "ul" olduğunu düşünelim. Bu "ul" nin her "li" sine tıklandığında o "li"nin içindeki "span" elementlerinin görünür olmasını istiyorum.
$('ul#list li').live('click', function (e) {e.preventDefault();$(this).children('span').show();});
- live() kullanarak li leri tıklanabilir yaptım.
- e.preventDefault(); işlem ile doğrudan alakalı değil kullanmak zorunda değilsiniz. Bir çok durumda javascriptin kendi kendine sapıtmasını engeller (:
- "$(this)" yani bu öğenin "children" yani içindeki "span" öğelerini göster.