lostyazilim
tr.link

JQuery ile Sayfa İçinde Sayfa Açarken Dışarıda ki JS Sorunu

13 Mesajlar 4.191 Okunma
lstbozum
tr.link

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
Merhaba arkadaşlar.
Başlıkta belki derdimi anlatamamışımdır.
Ben bazı yerlerde bir linke tıklandıktan sonra sayfa yenilenmeden belirttiğim div içinde başka bir sayfanın açılmasını sağlıyorum. Sayfa açılıyor ama sitenin içindeki js leri almıyor. Yani eklediğim class ları çalıştırmıyor. Ancak o yüklettiğim sayfanın içine o js kodlarını tekrar yapıştırmak zorunda kalıyorum buda kod fazlalılığı oluyor.

Bu sorunu nasıl aşabilirim veya bildiğiniz daha iyi sayfa içinde sayfa kodu varmı tüm sayfanın js kodlarını alabilecek şekilde ?
 

 

Batuhan P. | SoftVore.com
wmaraci
reklam

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)
Hocam, ajax ile sonradan eklenen metod/yöntem DOM'a eklenmiyordu bildiğim kadarıyla. (Gelen ajax değerinin içindeki javascript betiklerini kastediyorum.)

Bunun nasıl çözüldüğü konusunda bilgim yok.
 

 

www.ontedi.com
www.cizgi.site

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
ontedi Hocam sorum tam olarak o değildi tam tersi.
Yani Gelen ajax değerinin dışındaki javascript kodları ajax değerini içini etkilemiyor. Etkilemediği için gelen ajax değernin içine tekrar o javascript kodlarını koymak zorunda kalıyorum. İstediğim buydu :)

Ek Olarak:


Hocam demek istediğimi paint ile anlatmaya çalıştım. Umarım olmuştur :)
 

 

Batuhan P. | SoftVore.com

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)
O zaman şöyle söyleyeyim.

Yanlış anlamadıysam.



şeklinde ajaxın yüklendiği yer olsun diyelim. Ajax sonucu da şöyle olsun diyelim


tikla
tikla
tikla


Sen burada içeride açılan spanlara jQuery/JavaScript ile event (olay) yaratmaya çalışıyorsun. Doğru mu?
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)
kullandığın ajax fonksiyonunu paylaşabilirsen yardımcı olabilirim.
 

 

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
ontedi , pg13
hocam sizlere o zaman konuyu şöyle izah ediyim. Benim sayfa içinde sayfa açma işlemi çok olduğu için bunun için ufak bir function yazdım.

var $yonlenmek = jQuery.noConflict();
$yonlenmek(document).ready(function(){
$yonlenmek('.yonlen').click(function() {
var div = this.id;
var divv = '#r_'+this.id;
var url = this.href + '&div='+div;
$yonlenmek(divv).slideDown('slow');
$yonlenmek(divv).html('
');
$yonlenmek.ajax({
type:'POST',
url:url,
data:$yonlenmek(divv).serialize(),
success:function(cevap){
$yonlenmek(divv).html(cevap)
}
})
return false;
});
});


Daha sonrasında link yapım şöyle.
Tıklanacak Link

Daha sonra ajax sonucunun çıkacağı div.




Sıradan Sayfa









Bu sayfanın en altında ise Jquery kütüphanesinden 11.0 versiyonu ve bir kaç tane daha harici çekilmiş js dosyaları mevcut.
İşte burada ki js kodları yukarıda sonradan açılan dive etki etmiyor.

Yani mesela ben divin içinde ajax ile başka sayfadan açılan sayfanın içine gene ajax ile yönlenmeli bir link koysam çalışmayacak. Çünkü buradaki JS kodu almıyor. Yukarıdaki JS kodlarını ayrı bir şekilde o sayfaya tekrar kopyala-yapıştır yapmam gerekecek. Buda kod israfı. Amacım bunu önlemek işte arkadaşlar.


 

 

Batuhan P. | SoftVore.com

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)
Hocam, jquery'i headın içine alabilir misin?
 

 

www.ontedi.com
www.cizgi.site

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
Aldım gene olmadı hocam. Hiçbir şekilde etki etmiyor. Başka bir değişik yoldan ajax ile div açma fonksiyonu olduğunu düşünüyorum bence. Olabilir mi acaba?
 

 

Batuhan P. | SoftVore.com

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)
webtegez


$yonlenmek('.yonlen').click(function() {
var div = this.id;
var divv = '#r_'+this.id;
var url = this.href + '&div='+div;
$yonlenmek(divv).slideDown('slow');
$yonlenmek(divv).html('
');
$yonlenmek.ajax({
type:'POST',
url:url,
data:$yonlenmek(divv).serialize(),
success:function(cevap){
$yonlenmek(divv).html(cevap)
}
})
return false;
});


bu yukarıdakinin yerine şunu denermisin:



$yonlenmek(".parentSecici").on("click",".yonlen", function(a){
var div = this.id;
var divv = '#r_'+this.id;
var url = this.href + '&div='+div;
$yonlenmek(divv).slideDown('slow');
$yonlenmek(divv).html('
');
$yonlenmek.ajax({
type:'POST',
url:url,
data:$yonlenmek(divv).serialize(),
success:function(cevap){
$yonlenmek(divv).html(cevap)
}
})
return false;
});



.parentSecici olarak belirttiğim eleman "yonlen" sınıfının üst elemanlarından herhangi birisi olabilir.
 

 

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)
Hocam o zaman yapman gereken tek şey var
div içerisine ajax ile yüklenen verileri javascrip fonksiyonu oluşturman gerekmekte.

Mesela






function fnUyari()
{
alert("merhaba");
}
 

 

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