Как я могу получить кнопку, которая будет отключена после нажатия, но в другой функции? - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть кнопки с той же функцией включения.Я хочу, чтобы кнопки были отключены после одного клика.Функция onclick должна выполнять более одной функции, поэтому, как я могу это сделать.

 <input type="button" class="buttons" id="button2" value="2" 
    onclick="run()" />  

Ниже приведен код для одной из кнопок, внутри функции запуска - другая запущенная функция.

function disablebutton(button){
    this.disabled = true;
}

Ответы [ 3 ]

1 голос
/ 12 апреля 2019

Вам просто нужно вызвать функцию на разных кнопках.

        function disablebutton(buttonObject){
            buttonObject.disabled = true;
        }


        var button1 = document.getElementById('b1');
        var button2 = document.getElementById('b2');

        button1.onclick = function(){
          disablebutton(button1);
        }

         button2.onclick = function(){
          disablebutton(button2);
        }

OR

    <input type="button" class="buttons" id="button1" value="1" 
    onclick="run(this)" />  
    <input type="button" class="buttons" id="button2" value="2" 
    onclick="run(this)" /> 


    function run(button){
        button.disabled = true;
    }
0 голосов
/ 12 апреля 2019

Вы можете вызвать disablebutton() внутри run() функции или добавить ее после run() функции в onClick():

<input type="button" class="buttons" id="button2" value="2" 
        onclick="run(); disablebutton(this)" />

// Or

<input type="button" class="buttons" id="button2" value="2" 
        onclick="run(this)" />

function run(thisButton) {
  console.log('run');
  disableButton(thisButton)
}

1-е решение:

function run() {
  console.log('run');
}

function disablebutton(button){
    console.log(button);
    button.disabled = true;
}
<input type="button" class="buttons" id="button2" value="2" 
    onclick="run(); disablebutton(this)" />

2-е решение:

function run(thisButton) {
  console.log('run');
  disablebutton(thisButton)
}

function disablebutton(button){
    console.log(button);
    button.disabled = true;
}
<input type="button" class="buttons" id="button2" value="2" 
        onclick="run(this)" />
0 голосов
/ 12 апреля 2019

Вы должны выбрать все кнопки, а затем изменить отключенный атрибут.Вы можете сделать это, добавив класс к кнопке, выбрав их, а затем повторив цикл, отключив их все следующим образом:

var elems = document.getElementsByClassName("buttons");
for(var i = 0; i < elems.length; i++) {
    elems[i].disabled = true;
}
...