Bu soru, Wordpress ile ilişkilidir, ancak başka bir yerde uygulamalar vardır. Temel olarak, biri bir Thickbox'tan çıktığında bunu yapmaya çalışıyorum, bu sayfadaki başka bir yeri tetikler. Thickbox dosyasını düzenlemek bir seçenek değildir.ThickBox kapanırsa bir olayı nasıl tetiklersiniz?
cevap
O thickbox beri biraz karışık bu şekilde yazılı değil mi. Ama belki bunu yapmak için bazı hileler kullanabilirsiniz.
Önerilen çözüm bu değil, ancak kapat işlevini "yeniden yazabilirsiniz". Bir şey gibi:
var old_tb_remove = window.tb_remove;
var tb_remove = function() {
old_tb_remove(); // calls the tb_remove() of the Thickbox plugin
alert('ohai');
};
İşleri \ o/http://jsfiddle.net/8q2JK/1/
bence sen kesmek anlamına kapatma düğmesine bir tıklama işleyicisi bağlanarak:
$("#TB_closeWindowButton").click(function() {
doSomething();
});
Eğer bir seçim varsa, Thickbox'tan kurtulun (artık korunmuyor) ve daha aktif bir toplulukla bir şeyler kullanın. Aslında thickbox site, proposes some alternativesmirror.
Ona bunu anlatmayı düşündüm, ama o kalın kutuyu kapatmak için kullanılan tüm elemanları (kapat düğmesi, bindirme ve espace tuşa basma tıklaması) –
ama +1 alternatiflerinde +1 tekrar etmek zorunda kalacaktı –
Ah - Bunu fark etmeliydim. İlgilenirse, buradan kapat düğmesi tıklatma işleyicisi fikrini aldım: http: // designerfoo.com/jquery-thickbox-hack-to-refresh-parent-window-on-tb_close-event.html – karim79
Bir dinleyiciyi, kalın kutu kapalı olduğunda tetikleyen "tb_unload" a bağlayabilirsiniz. jQuery kullanarak Örnek: thickbox-fixed.js içinde nereye ve kendim için özel bir işlev katacak thickbox 3.1 On
<input id="tb_button" type="button" value="Click to open thickbox" />
jQuery('#tb_button').on('click', function(){
tb_show('This is Google in a thickbox', 'http://www.google.com?TB_iframe=true');
jQuery('#TB_window').on("tb_unload", function(){
alert('Triggered!');
});
}
Bu gerçekten harika bir cevaptır. Ancak, tb_unload, thickbox'ın ana sayfasına işaret eden kaynak koddaki bir işlev değildir. Ancak WordPress'in sürümünde. Bunu işaret etmek yardımcı olabilir. Ayrıca, bir giriş elemanı değil, kalın kutuyu tetiklemek için bir 'a' elemanıdır. Son olarak, Google, bu way.tb_unload etkinliğine yüklenmeyi yasakladığından örnek çalışmaz. Belki bir jsfiddle veya codepen örneği. –
,
sadece bir geri çağırma işlevi eklemek için, emin değil iyidir yol, ama benim projem için onun çalışması. Özel silme işlevimi kullandığımda, bu nedenle, bu yüzden özel işlevini kullanıyorum. Bunu böyle kullanacağım.
self.parent.mycustom_tb_remove(function(){
alert("Closed");
});
Böyle bir şey deneyebilirsiniz ...
var tb_unload_count = 1;
$(window).bind('tb_unload', function() {
if (tb_unload_count > 1) {
tb_unload_count = 1;
} else {
// do something here
tb_unload_count = tb_unload_count + 1;
}
});
tb_unload
iki kez yani bu bir hack biraz kodunuzu ikinci kez çalışmaz emin olmak için içerir tetiklenir.
- 1. Thickbox ana öğelerine nasıl erişilir
- 2. Sınıflar arasında bir etkinliği nasıl tetiklersiniz?
- 3. Sunucu kapanırsa Curl hatası?
- 4. NSWindow kapanırsa uygulamayı sonlandırın
- 5. Bir veri çerçevesine indekslenirken NA'ları "yoksaymak" için R'yi nasıl tetiklersiniz?
- 6. Django: Yeni modeller için ContentTypes'ın oluşturulmasını nasıl tetiklersiniz?
- 7. Xcode'ta bir olayı nasıl geciktiririm?
- 8. Zaten global olarak işlevi nasıl tetikler ve tetiklersiniz?
- 9. Datepicker olayı olayını el ile gerçekleştirme
- 10. Bir görüntüye nasıl bir .click() olayı eklerim?
- 11. NStimer olayı nasıl durdurulur?
- 12. dosya üzerinde olayı nasıl
- 13. Olayı
- 14. fb.authorize() bir giriş olayı
- 15. Bir form için onSubmit olayı nasıl alınır?
- 16. PerlNet modülünde bir olayı nasıl yükseltirim?
- 17. Firebase'den bir Analytics Olayı nasıl silinir
- 18. Polimer Dart'tan özel bir olayı nasıl tetiklerim?
- 19. Bir olayı Moq kullanarak nasıl yükseltebilirim?
- 20. RxJS: Bir drop olayı nasıl event.preventDefault() yapabilirim?
- 21. Bir öğeye tıklama olayı ekleme?
- 22. Değer bir damla aşağıya doğru başka bir açılır kapanırsa değeri değiştirin
- 23. symfony olayı isteksizce nasıl gönderilir
- 24. Android'de işaretçi olayı nasıl gönderilir
- 25. Android'de uyku olayı nasıl kaydedilir?
- 26. Javascript'te dragend olayı nasıl yakalanır?
- 27. Adaptördeki tıklatma olayı nasıl yapılır
- 28. Odak olayı nasıl temsil edilir?
- 29. jqgrid olayı?
- 30. Bir mousedown ve mouseup olayı,
Kod için teşekkürler. Bununla ilgili bir sorun bulundu: image upload thickbox, tb_remove işlevini birden çok kez çağırıyor ve özel tb_remove işlevindeki kodun birden çok kez çağrılmasına neden oluyor. Bununla nasıl savaşacağın hakkında bir fikrin var mı? –
hmmm ... Düzeltmek için bir yol bulmaya çalışacağım. Bir şey bulursam yorum yapar mısınız? Btw başka bir kütüphane kullanabilir misin? –
Burada WordPress sorunu reproduces bazı kodlar vardır: [link] (http://wordpress.stackexchange.com/questions/18216/issue-with-code-manipulating-the-image-upload-thickbox). WordPress'in dahili görüntü yükleyici thickbox'ı kullanmaya çalışıyorum ama bu konuya giriyorum. –