1

「最小設定」を使用して、jQuery ツールのオーバーレイ効果をサイトに追加しました。残念ながら、ユーザーがそれを閉じたい場合、右上にあるこの小さな円をターゲットにする必要があります。このように使いやすさが損なわれます。ユーザーがどこかをクリックして閉じることができれば、はるかに良いでしょう。

ユーザーがどこをクリックしてもオーバーレイを閉じるように、コードを変更または追加できますか? それとも、オーバーレイの外側をクリックしたときでしょうか? ドキュメントでそれに関するメモを見つけることができませんでした。

4

4 に答える 4

4

それとも、オーバーレイの外側をクリックしたときでしょうか? ドキュメントを
確認してください(「構成」部分):

closeOnClick (デフォルト: true)
デフォルトでは、マウスがオーバーレイ領域の外でクリックされると、オーバーレイは閉じられます。このプロパティを false に設定すると、モーダル ダイアログに適したこの動作が抑制されます。

つまり、この機能はデフォルトですでに有効になっています。うまくいかない場合は、オーバーレイ構成を見せてください。

于 2010-10-19T11:12:41.507 に答える
4

@NikitaRybak closeOnClick は、公開/マスクを使用している場合にのみ機能します。露出/マスクなしで動作するようにオーバーレイ コードを変更しました。

縮小された JavaScript を整理します。縮小されたコードでこれを見つけます。

b.closeOnClick && a(document).bind("click." + n, function(l) {

代わりにこれを関数に挿入します

if (!a(l.target).hasClass('overlay') && !a(l.target).hasClass('apple') && !a(l.target).parents('.overlay', f).length && !a(l.target).parents('[rel="#' + a(f).attr('id') + '"]').length && !(a(l.target).attr('rel') == '#' + a(f).attr('id'))) { c.close(l); }

リンゴ効果を使用している場合は、リンゴ効果コードでこれを見つけます。

b = h('<img src="' + b + '"/>');

class="apple" を挿入すると、次のようになります。

b = h('<img class="apple" src="' + b + '"/>');

誰かがそれを必要とする場合、これが役立つことを願っています..

于 2011-01-26T15:12:29.660 に答える
0

試してください(すばやく汚い):

$(document).click(function(){
    $('.simple_overlay:visible .close').click();
});
于 2010-10-19T11:11:20.773 に答える
0

実験中に、公式の jQuery Tools スタンドアロン デモでさえ、オーバーレイを正しく閉じないことがわかりました。たとえば、オーバーレイされた画像の下をクリックすると閉じますが、オーバーレイの外側の右側または左側をクリックしても閉じません。

したがって、私の場合、次のソリューションを使用して、ドキュメントの任意の場所をクリックしてオーバーレイを閉じました。

<script type="text/javascript">
    function closeOverlay(){
        $('.overlay:visible .close').click();
    }
    document.addEventListener('click',closeOverlay,true);
</script>

それも汚いかもしれませんが、それは私にとってはうまくいきます。

于 2011-12-13T17:17:33.180 に答える