0
$('body').click(function() {
//hide layer code here
});

これにより、レイヤーが非表示になります。

ただし、レイヤーの内側/クリック時にレイヤーが非表示になりたくありません。

助けてください。

4

4 に答える 4

1

よりエレガントな方法はこれだと思います:

$('body').click(function(event) {
// hide layer code here
});
$('#layer').click(function(event) {
event.stopPropagation();
});
于 2012-10-10T10:41:31.713 に答える
0
$('body').click(function(ev){
    if(ev.target.className == 'yourLayerClass') {
        // Your code here
    }
});
于 2012-10-10T10:24:26.267 に答える
0

あなたはこのようなことを試すことができます。

$(document).ready(function () { 
            $('body').click(function(e) {
                if(e.target.id !== 'layer') {
                    alert('Put code to hide layer here');
                }

            });
        });
    </script>


<body>
<p id='layer'>This is layer</p>
<p id='other'>This is other part </p>
</body>

デモ

また、オーバーレイを作成することもできます(標準的な方法)

HTML

<body>
<div id='overlay'></div>
<p id='layer'>This is layer</p>
</body>

JS

$('#overlay').click(function(e) {
    alert('code to hide your layer'); 
    // Notice that this function won run when you click on layer but will run whenever you on any other part of body.
});​

デモ

于 2012-10-10T10:32:50.583 に答える
0

レイヤーへのIDを取得します。例:#layer

そして、このコードをスクリプトファイルに入れます。

$('#layer').on('click', function (event) {
event.stopPropagation();
});
于 2012-10-10T10:47:16.940 に答える