2017-11-11 59 views
0

如果當前用戶是訪問者,我想運行avgrund插件我希望運行一段不同的代碼。Jquery 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插件激活click事件。例如,如果您單擊主頁,它會激活avgrund插件。這是無意的行爲。

回答

0

設置這些選項後,它似乎工作正常。

setEvent: 'click', 
openOnEvent: false, 
相關問題