簡體   English   中英

使用onClick獲取javascript中單擊按鈕的ID

[英]using onClick to get the id of the clicked button in javascript

Iam交換按鈕的值以及按鈕的.innerHTML,但是這樣做效率不高。 像這樣 :

function btnswap2()
{

    var soft=document.getElementById('1');
    var hard=document.getElementById('2');

    var temp;
    var temp1;
    var flag=0;

    if(soft.id==1)
        {
            temp1=soft.innerHTML;
            soft.innerHTML=hard.innerHTML;
            hard.innerHTML=temp1;

            temp=soft;
            soft=hard;
            hard=soft;

            showHARD();
        }
}

現在我可以獲取運行時單擊的按鈕的ID了,因為您可以看到每次單擊按鈕時按鈕都會被交換。 問題是我必須在這里調用其他函數(在這種情況下,如果很難,則應該很困難,否則應調用柔軟)

  showHARD();
  showSOFT();

我該如何實現??? 我的按鈕ID如下:BTN:ID

 SOFT: 1
 HARD: 2
 TRAI: 3
 STAT:4 

嘗試將類添加到靜態按鈕:

<button id="1" >button1</button>
<button id="2" >button2</button>
<button id="3" >button3</button>
<button id="4" class="static" >button4</button>

然后用jQuery:

$(document).ready(function(){
 $("button").click(function(){

  if($(this).hasClass("static")){
   showSTAT();
  }else{
   btnswap2(this); 
   if($(this).attr("id")=="1")
    showSOFT();
   else if($(this).attr("id")=="2")
    showHARD();
   else
    showTRAI();
  }
 });
});


function btnswap2(btn){

var stat=$('button.static');

var temp;

temp=btn.html();
btn.html(stat.html());
stat.html(temp1);

stat.removeClass("static");
btn.addClass("static");
}

不要在btnswap2()函數中調用showSOFT()或showHARD()!

這樣,您將始終獲得靜態按鈕,並且僅當交換的按鈕不是靜態按鈕時,它才會交換。

我想您想做的是這樣的:

HTML

--------
static:
--------
<div id="1" >button A</div>

--------
live:
--------
<div id="2" onClick="btnswap2(this.id)">button B</div>
<div id="3" onClick="btnswap2(this.id)">button C</div>
<div id="4" onClick="btnswap2(this.id)">button D</div>

JavaScript的

function btnswap2(id){
    var temp = document.getElementById("1").innerHTML; // static button
    var clicked_label = document.getElementById(id).innerHTML;
    document.getElementById("1").innerHTML = clicked_label;
    document.getElementById(id).innerHTML = temp;
}

小提琴在這里: http : //jsfiddle.net/n5UDu/6/

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM