jQuery制作一个包含单击按钮ID的变量

时间:2018-10-15 18:49:51

标签: jquery button

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

<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的了解不强,所以找不到有效的解决方案。

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

如果您需要更多信息,我明天去。

1 个答案:

答案 0 :(得分:0)

您可以在每个按钮上设置一个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 Fiddle Exmaple