0

如果当前用户是访客,我想运行 avgrund 插件,否则我想运行另一段代码。

到目前为止,我的代码如下所示:

<html>
    <head>
        <link rel="stylesheet" href="http://labs.voronianski.com/jquery.avgrund.js/avgrund.css">
        <link rel="stylesheet" href="http://labs.voronianski.com/jquery.avgrund.js/style.css">
    </head>
    <body>

        <a href="#" id="reply1" class="replyButton">
            <span>reply</span>
        </a>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js"> </script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.avgrund/1.3.3/jquery.avgrund.js"></script>
        <script>
         $(function() {

             var username = "Visitor";

             $(".replyButton").on('click', function(e) {

                 if (typeof username !== 'undefined') {

                     if (username !== 'Visitor') {
                         console.log("Do some stuff");
                     }
                     else {

                         var selectedButton = $(this).attr('id');
                         selectedButton = '#' + selectedButton;
                         $(selectedButton).avgrund();
                     }
                 }

             });


         });

        </script>

    </body>
</html>

但问题是两次单击后会打开弹出窗口。我应该如何让代码在第一次点击时运行。

这是 js 小提琴演示:

https://jsfiddle.net/sv1mmn6q

更新:

我尝试了这种方法,对于这个小例子来说似乎效果很好。

$(document).avgrund({
   openOnEvent: true
 });

更新了 jsfiddle 演示:

https://jsfiddle.net/sv1mmn6q/1/

但实际上使 avgrund 插件在点击事件时激活。例如,如果您单击主页,它会激活 avgrund 插件。这是意外的行为。

4

1 回答 1

0

设置这些选项后,它似乎工作正常。

setEvent: 'click',
openOnEvent: false,
于 2017-11-11T19:39:13.663 回答