0

我想在变量“$myvar”的值为“myvalue”时显示一个弹出窗口,所以我输入了这段代码

<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>

这与

<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>

所以当用户来到这个页面并且变量设置为'myvalue'时,弹出窗口出现,但是当我点击#close标签时我无法关闭它。事件“点击”是否冒泡以便再次处理脚本?如果是,如何预防?

4

2 回答 2

0

您的代码对我来说看起来不错,唯一的问题是您的 html 没有id="follow_message"您的 JS 似乎期望的包装元素。我假设你只是错过了你的问题。

修复它似乎工作正常: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 回答