0

I want to show a pop-up when a variable '$myvar' has the value 'myvalue', so I put this code

<script type="text/javascript">
    $(document).ready(function(){
            if($myvar=='my value'){
            $("#overlay").removeClass("invisible");
            $("#message").removeClass("invisible");
            }
        $('#message #close').live('click',function() {
            $("#overlay").addClass("invisible");
            $("#message").addClass("invisible");
        });
    });
</script>

This is related to

<div id="overlay" class="invisible"></div>
        <div class="invisible" id="message">
    <div class="header">
        <h2><span><?php echo _('some message!') ?></span>    </h2>
        <div id="close"></div>
   </div>
</div>

So when the user comes to this page and when the variable is set to 'myvalue', the pop-up appears, but I can't close it when I cleick on the #close tag. Is the event 'click' bubbling so that the script is processed again ? If yes, how to prevent it ?

4

2 に答える 2

0

あなたのコードは私には問題ないように見えますが、唯一の問題は、id="follow_message"JS が期待しているように、html にラッピング要素がないことです。ただし、質問から少し逃しただけだと思います。

正常に動作するように修正: http://jsfiddle.net/vcQrV/

編集: JSを使用するように修正しても、#messageまだ機能しています:http://jsfiddle.net/vcQrV/1/

于 2013-01-05T12:29:04.857 に答える
-1

ここ:

$('#close').die('click');
$('#close').live('click',function() {
});

live()ただし、は非推奨です。on()代わりに使用してください。

乾杯!

于 2013-01-05T12:27:10.420 に答える