首页 > 解决方案 > jQuery 创建一个包含被点击按钮 id 的变量

问题描述

选择您自己的冒险类型的游戏需要该代码。当然会有很多文本和按钮,所以我认为与其为每个按钮编写代码行,不如编写一些使用变量的代码。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

 var n = $('button').find(this.id);

$(document).ready(function(){
    $("#2").click(function(){
        $("#1").hide();
        $("#n").hide();
    });
    $("#2").click(function(){
        $("#3").show();
    });
});

</script>

我尝试了很多不同的解决方案,但由于我不擅长 jQuery,我找不到一个有效的解决方案。

如果有人能告诉我什么是正确的,以及它是如何工作的,我将不胜感激。非常感谢!

如果您需要更多信息,我会在明天继续。

标签: jquerybutton

解决方案


您可以data-attribute在每个按钮上设置一个,然后聆听整个应用程序的按钮点击。当检测到一个时,您可以获得 的值data-action并使用 switch 语句选择要执行的操作。

<button data-action="start adventure">Start!</button>
<button data-action="pause game">Pause...</button>
<button data-action="quit">Quit.</button>

<script>
    $('body').on('click', 'button', function(e){
      var clicked_button = $(e.target); 
      var button_action = clicked_button.data('action');

      switch(button_action){
          case 'start adventure': {
              // do things
              alert('Lets start an adventure!');
              break; 
          }
          case 'pause game': {
              // do things
              alert('Game is paused.');
              break;
          }
          case 'quit': {
              // do things
              alert('Sorry to see you go!! :( '); 
              break;
          }
          default: {
              console.log('What do we do for this action?', button_action); 
          }
      }
  });
</script>

的“属性”部分data-attribute可以是您想要的任何单词。数据-动作,数据-事物,数据-随便。只需确保在 jQuery 中获得与.data('attribute')您选择的单词匹配的部分。

JS 小提琴示例


推荐阅读