js判断一个button或者span是否被点击

“我站在江岸,看见的是江里死去的人,看不见的是岸上的鬼。”——歪克士


问题描述:在一个页面有很多个按钮或者span的情况下,无法判断一个按钮是否被点击,从而改变他的背景色以及一系列的“动作”

例如:有800+个span,要判断哪一个span被点击,更换这个span的背景色,点击下一个span的时候还原上一个span的背景色,重新更换下一个的背景色。

实现办法:首先创建事件,传入第一个span的id,当传入第二个id的时候,比较是否和第一个id相同,如果相同则不做处理,如果不同则则还原上一个背景色,更换这次点击的span的背景色。

示例HTML代码:

<div id="all-span">
    <span id="1">1</span>
    <span id="2">2</span>
    <span id="3">3</span>
    ……
    <span id="n">n</span>
</div>

对应javascript示例代码:

<script>
//原始颜色 #000000 被点击后的颜色#FFFFFF
var ys_id='';
$('all-span').on("click","span",function(data){
  if(ys_id==''){
    var get_id = this.id;
    ys_id = get_id;
    document.getElementById(ys_id).style.background = "#FFFFFF";
  }else{
    if(ys_id ==get_id){ //判断是否重复点击该按钮
       document.getElementById(ys_id).style.background = "#FFFFFF";
     }else{ //如果是新按钮,则改变颜色
       document.getElementById(ys_id).style.background = "#000000";
       document.getElemengById(this.id).style.background = "#FFFFFF";
       ys_id = this.id;
       var get_id = ys_id;
      }
    }
  })
document.getElenmentById('').
</script>

ps:其中夹杂jq和原始语法别介意。

到此就结束啦,避免使用for循环去寻找哪个按钮被点击,提高效率。但是我相信没有最好的方法,只有更好的方法!


2018.8.27 歪克士

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇