SORU
31 Mart 2010, ÇARŞAMBA


jQuery UI - Dış Tıklandığında İletişim kutusunu Kapatın

Belirli öğeler tıklandığında görüntülenen jQuery UI bir İletişim var. Eğer bir tıklama öğeleri veya iletişim kendini tetikleyen başka yerde olursa her yerde iletişim kutusunu kapatmak istiyorum.

İşte iletişim kutusunu açmak için: kod

$(document).ready(function() {
    var $field_hint = $('<div></div>')
        .dialog({
            autoOpen: false,
            minHeight: 50,
            resizable: false,
            width: 375
        });

    $('.hint').click(function() {
        var $hint = $(this);
        $field_hint.html($hint.html());
        $field_hint.dialog('option', 'position', [162, $hint.offset().top   25]);
        $field_hint.dialog('option', 'title', $hint.siblings('label').html());
        $field_hint.dialog('open');
    });
    /*$(document).click(function() {
        $field_hint.dialog('close');
    });*/
});

Eğer son bölümü ben Yorumsuz, iletişim asla açar. İletişim tekrar kapanıyor açılıyor aynı tıklayın çünkü sanıyorum.


Son Çalışma Kodu
Not: Bu jQuery outside events eklenti kullanıyor

$(document).ready(function() {
    // dialog element to .hint
    var $field_hint = $('<div></div>')
            .dialog({
                autoOpen: false,
                minHeight: 0,
                resizable: false,
                width: 376
            })
            .bind('clickoutside', function(e) {
                $target = $(e.target);
                if (!$target.filter('.hint').length
                        && !$target.filter('.hintclickicon').length) {
                    $field_hint.dialog('close');
                }
            });

    // attach dialog element to .hint elements
    $('.hint').click(function() {
        var $hint = $(this);
        $field_hint.html('<div style="max-height: 300px;">'   $hint.html()   '</div>');
        $field_hint.dialog('option', 'position', [$hint.offset().left - 384, $hint.offset().top   24 - $(document).scrollTop()]);
        $field_hint.dialog('option', 'title', $hint.siblings('label').html());
        $field_hint.dialog('open');
    });

    // trigger .hint dialog with an anchor tag referencing the form element
    $('.hintclickicon').click(function(e) {
        e.preventDefault();
        $($(this).get(0).hash   ' .hint').trigger('click');
    });
});

CEVAP
1 Aralık 2010, ÇARŞAMBA


Üzgünüm bu kadar uzun süre sonra yukarı sürükleyin ama aşağıda kullandım. Herhangi bir dezavantajları? Bakın açık fonksiyonu...

$("#popup").dialog({

        height: 670,
        width: 680,
        modal: true,
        autoOpen: false,
        close: function(event, ui) { $('#wrap').show(); },
        open: function(event, ui) { $('.ui-widget-overlay').bind('click', function(){ $("#popup").dialog('close'); }); }

    });

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011