jQuery - Tetik Popup w / tıklayın çıkış

6 Cevap php

Ben benim sayfa gövde etiketi üzerinde de bu var -

<script type="text/javascript">
    $(document).ready(function() {
        $('#button').popupWindow({windowURL:'http://something',centerBrowser:1,width:400,height:300}); 
    });
</script>   

Programlı sayfa yük üzerinde php ile sayfanın ortasına yerleştirilir w / kodu - Bu açılan kullanıcı aslında bir düğmeye tıklayarak olmadan gerçekleşmesi için bir yolu var mı?

6 Cevap

Sonraki aşağıdaki ekleyin.

$("#button").trigger("click");

Ya da zincirleme tüm çizgi üzerine koymak:

$('#button').popupWindow({...options...}).trigger("click");

Bu değer ne için, olmayan bir hale elemandan bu çağırabilirsiniz:

$("<div></div>").popupWindow({..options..}).click();

Ben güvenlik nedenleriyle tarayıcılarda bir çok kullanıcı eylemi çeşit olmadan bir açılır pencere açmak olmayacağını düşünüyorum.

popupwindow kodlanmış bağlantıları ile çalışmak, ve sadece olayları "tık" yanıt verir. Yani açılan sayfa yük görünmesini istiyorsanız, bu gelen jquery.popupWindow düzenleme hattı 6 deneyebilirsiniz, dedi;

$(this).click(function(){

Buna;

$(this).ready(function(){

Vücudunuzun elemana bir id ekleyin;

<body id="popuptrigger">

ve eklenti diyoruz;

$('body#popuptrigger').popupWindow({ ... });

Bu denenmemiş olduğunu, ama çalışıyor olsa bile çok şık bir çözüm değil. Ben size daha fazla esneklik sağlayan bir pop-up eklentisi için etrafa öneririm. I jqModal açılan formlar için iç url isteklerini yüklemek için kullanabileceğiniz ve iyice tavsiye ederim. Sizin kilometre mey yani "jquery modal" için bir google arama yapmak ve bazı alternatifler kontrol olsa değişir.

Ben bir jQuery UI Dialog kullanarak öneririm. Bu şekilde, farklı tarayıcılarda farklı pop-up nasıl idare konusunda endişelenmenize gerek olmayacaktır.

Başkaları tarafından belirtildiği gibi, bazı tarayıcılar (özellikle Microsoft Internet Explorer) kullanıcı etkileşimi sonucu tetiklendiği sürece bir JavaScript açılır pencere açmayı reddeder. Sen jQuery ile biraz bu kolayca sahte yapabilirsiniz:

// Create a 'fake' a tag, this will never be added to DOM.
$('<a href="#" />')

    // Register a click handler which will open a new popup window.
    .click(function () { 
        window.open(url, name, options);
    })

    // Simulate the click in jQuery - this will open the popup window.
    .click();

Ben kabul bir çözüm üzerinde yorum yapamam, bu yüzden ben sadece burada bu göndeririz - (gerçekten zeki olduğunu) Jonathan Sampsons son önerme ile ilgili: en son Firefox ve üzerinde Click olayını tetikler elemanı, Chrome, görünür olmalıdır. Yani gerçekten bir non-rendered elemanı oluşturulan olamaz.

Aksi takdirde tüm diğer tıklama olayları tetikleyecek, istenen sonucu olmayabilir - sayfanızda bir elemanı kullanıyorsanız Ayrıca, henüz tanımlanan herhangi diğer tıklama olayı yok birini seçin.