javascript

Elimde bir iş var ve uzun bir süredir onunla uğraşıyorum. Ve bir süre daha ilgilenmeye devam edeceğim :) Javascript kullanarak form öğelerinden olan seçme kutularının içeriğini, web sayfası tarayıcı tarafından yüklendiği anda belli koşullara göre tekrar sıralatmak ve içerisindeki seçenekleri yenilemek istiyordum. Çok tuhaf bir şekilde herşey internet explorer ile yolunda gitti. Fakat sonradan farkettimki firefox bu fonksiyona yanıt vermiyordu. İş başa düştü ve çözümünü aradım buldum.. İşte çözümü ;)

2 yorum Beğen Paylaş Firefox ve javascript window.attachEvent


Öncelikle bahsettiğim bu olaya normal bir örnek vereyim.

AramaFormGuncelle = function() {
	RenkAl(true);
}
if (window.attachEvent) window.attachEvent("onload", AramaFormGuncelle);

Burada AramaFormGuncelle adındaki fonksiyonun window.attachEvent(”onload”, AramaFormGuncelle) kodu ile sayfa yüklenmesi bittiği anda çağrılmasını istedin. O da kendi içerisinde RenkAl() fonksiyonunu çağırıyor. Internet explorer için bu kod problem yaratmıyor fakat biz kodlama ile uğraşanları için internet explorer, firefox, opera ayrımı olmamalı. En azından şuan için en çok tercih edilen bu üç tarayıcı ile uyumlu sayfalar kodlamalıyız.

Yukarıdaki satırlarımızı alttaki ile değiştirdiğimizde artık sayfa yüklendiğinde fonksiyonlarımızı, internet explorer, firefox ve opera ile sorunsuz çağırabiliriz ;)

AramaFormGuncelle = function() {
	RenkAl(true);
}
if(window.attachEvent){
	window.attachEvent("onload", AramaFormGuncelle);
} else if(document.addEventListener || window.addEventListener){
	if(document.addEventListener){
		document.addEventListener("load", AramaFormGuncelle, false);
	};
	if(window.addEventListener){
		window.addEventListener("load", AramaFormGuncelle, false);
	};
} else {
	if(typeof window.onload == "function"){
		var fOld = window.onload;
		window.onload = function(){ fOld(); AramaFormGuncelle(); };
	} else {
		window.onload = AramaFormGuncelle;
	};
};
24 Eylül 2006, 23.55 tarihinde yayınlanmış
Bu yazı 2 adet yorum almıştır ve bunların 2 ile 0 arası görüntülenmektedir. Yorumları RSS ile takip edebilirsiniz.
merve
| 15 Mart 2007 , 12:05
#2

Merhabalar

Bir div’in mouse olaylarını eventhandlerla yakalamak istiyorum.

var c=document.getElementById(’mainCanvas’);
c.addEventListener(’mousedown’, on_mousedown, false);
c.addEventListener(’mousemove’, on_mousemove, false);
c.addEventListener(’mouseup’, on_mouseup, false);

diye yapınca olmadı.Bunu başka türlü nasıl yaparım?Yardımcı olursanız çok sevinrim :)

| 25 Eylül 2006 , 01:01
#1

Şimdi incelemedim ama güzel bir şeye benziyor en yakın zamanda daha yakından bakıcam. Saol Hakan ;)

© 2005 - 2010 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.
Dmry.net Vital Teknoloji tarafından desteklenmektedir
yukarı dön