lostyazilim
tr.link

JQUERY Element Eklendikten Sonra Fonksiyon Çalıştırma

11 Mesajlar 2.883 Okunma
acebozum
tr.link

WmOptimize WmOptimize Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek WebProgramlama
  • Konum İstanbul Anadolu
  • Ad Soyad H** F**
  • Mesajlar 410
  • Beğeniler 151 / 174
  • Ticaret 3, (%100)
Dinamik olarak bir buton oluşturuyorum.

$("body").append("");

Bu butona tıklandığında işlem yapılsın istiyorum.

Yani şunun gibi

$('.sonuc').click(function () {
alert("Çaliştı");
});


Ancak asenkron olarak yüklendiği için bu işlem çalışmıyor. Statik olarak eklediğimde elementi çalışıyor. Bunu nasıl çözebiliriz ?
 

 

wmaraci
reklam

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
JS onclick ile bunu yapabilirsin.

https://www.w3schools.com/JSREF/event_onclick.asp
WmOptimize

kişi bu mesajı beğendi.

WmOptimize WmOptimize Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek WebProgramlama
  • Konum İstanbul Anadolu
  • Ad Soyad H** F**
  • Mesajlar 410
  • Beğeniler 151 / 174
  • Ticaret 3, (%100)
kelebek Hocam onu bi ara denedim olmadıydı demek bir yerde yanlış yaptım şimdi oldu :)
Kodu şu şekilde append etmem lazım demekki.

$("body").append("");

Ayrıca hızlı dönüşünüz için teşekkür ederim hocam :)
 

 

89911 89911 WM Aracı Anonim Üyelik
  • Üyelik 19.04.2018
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 167
  • Beğeniler 21 / 65
  • Ticaret 0, (%0)
bir javascript dosyası ile sayfaya sonradan dahil edilen nesneler için jquery'de live methodu mevcut şu anki haliyle yeni versiyonlarda sorun yaşayabilirsiniz. en son gönderdiğiniz kodda şöyle bir sorun mevcut. sonuclar(50) değilde sonuclar('50') şeklinde denemeniz lazım. string veya integer değer fark etmez bir değer gönderdiğinizi bilmesi lazım jQuery. ben şu anda cdn 3.3.1 versiyonu kullanıyorum bu yöntemle gidiyorum bilginiz olsun WmOptimize eğer sorun olursa size küçük bir örnek dahi hazırlayabilirim.
WmOptimize

kişi bu mesajı beğendi.

wmaraci
wmaraci

WmOptimize WmOptimize Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek WebProgramlama
  • Konum İstanbul Anadolu
  • Ad Soyad H** F**
  • Mesajlar 410
  • Beğeniler 151 / 174
  • Ticaret 3, (%100)
cpolat Hocam uyarınız için teşekkür ederim. Tüm parametreli fonksiyonlarda mı bu şekilde oluyor acaba bu durum ?

Ayrıca hadi bunu bu şekilde hallettik te ben bir fonksiyon tamamlandıktan sonra diğer fonksiyonun çalışmasını nasıl sağlarım bunu tam çözemedim.

Yani

function fonk1(a){
alert(a);
}
function fonk2(b){
alert(b);
}


Biri tamamlandığında diğeri nasıl çalışır ? Ben örneklerde hep .hide() komutunu gördüm. Ancak normal fonksiyonlarda nasıl olacak anlamadım.
 

 

89911 89911 WM Aracı Anonim Üyelik
  • Üyelik 19.04.2018
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 167
  • Beğeniler 21 / 65
  • Ticaret 0, (%0)
WmOptimize bu yapı eski versiyonlarda pek stabil çalışmıyordu yeni versiyonlarında ise bu sorunu kökten çözdüler. yeni versiyonlarda bu durum biraz değişti. eskilerde stabil çalışanı vardı aslında da versiyonu unuttum gerçekten. eski versiyonlarda sorunsuz çalışan yokmu var tabi fakat yeni çıkan versiyonlarda çoğru "depracate" önerilmiyor bunlardan biri de işte bu live olayı. kafa karıştırmadan envato veya themeforestdaki denk geldiğim bazı temalarda jquery'nin eski versiyonları var 1.x bile gördüm ve çok da güzel işler çıkarıyorlar onlarda alıştılar mı o versiyonu kullanıyolar yada gerek mi duymadılar birşeyler bildikleri kesin. $ işareti jquery'e eşit aslında ,

//bu şekilde de kullanılabilir fakat tavsiyem aşağıdaki
jQuery.fonk1 = function(a){
alert(a);
}

//tavsiye ettiğim
$.fonk1 = function(a){
alert(a);
}

$.fonk2 = function(b){
alert(b);
}

şeklinde kullanabilirsiniz. versiyon geçişleri arasında bazı sıkıntılar olsa da her zaman Allways Forever jQuery :)
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)

$('.sonuc').on('click',function () {
alert("Çaliştı");
});


Şeklinde dener misin?
WmOptimize

kişi bu mesajı beğendi.

www.ontedi.com
www.cizgi.site

WmOptimize WmOptimize Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek WebProgramlama
  • Konum İstanbul Anadolu
  • Ad Soyad H** F**
  • Mesajlar 410
  • Beğeniler 151 / 174
  • Ticaret 3, (%100)
ontedi Hocam şu kategoride üst düzey yardımcılardan birisiniz hemen hemen bu kategorideki her konuma yazdınız bunun için ayrıca teşekkür ediyorum. Şuan kodum çalışıyor zaten.

Ancak ben bir fonksiyon tamamlandıktan sonra diğerine geçme olayını anlamamıştım onu sordum.

Şimdide şu takıldı aklıma ben bir önceki konuda, dinamik olarak jquery dosyası import ettim.

Burada şöyle bir sorun oluşabilir mi;

Sitede zaten statik olarak bir jquery kütüphanesi bulunmuş olsa ama eski bir sürüm.
Benim dinamik olarak eklediğim kütüphane çalışacak kodları olumsuz etkiler mi ?

Yani sitede 2 adet jquery versiyon olması çalışacak kodlarda bozukluluk oluşturur mu ?

cpolat Hocam,

$.fonk1 = function(a){
alert(a);
};

function fonk1(a){
alert(a);
};

var fonk1= function(a) {
alert(a);
};


Siz şuan bu 3 fonksiyonda aynı ama ilk olan fonksiyonu kullanmanız daha iyi diyorsunuz değil mi hocam ?

Ayrıca ontedi hocama sorduğuma dair fikriniz varsa o bilgiyi de rica ediyim :)
 

 

89911 89911 WM Aracı Anonim Üyelik
  • Üyelik 19.04.2018
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 167
  • Beğeniler 21 / 65
  • Ticaret 0, (%0)
WmOptimize bendeki tamamen alışkanlık. göz artık bazen $.functionName = function(){} bu yazım stiline alışıyor. hepde böyle görmek istiyor. dediğim gibi $ işareti jquery anlamına geliyor isterseniz jQuery.functionName = function(){} yapsanızda çalışır.
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Sonradan eklenen .js uzantılı dosya içindeki fonksiyon/metodların vs.. çalışacağını sanmıyorum. Aslında örnekle denenebilir fakat iş yerinde çok vakit bulamıyoruz. Dosya olarak eklenen javascriptlerin DOM'a ekleneceğini düşünmüyorum açıkcası, yanlışımız varsa da affola.
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al