Подтвердить что ты не робот

Как вызвать два метода в методе onclick кнопки в HTML или JavaScript?

Как вызвать два метода в методе onclick кнопки в HTML или JavaScript?

4b9b3361

Ответ 1

  • Попробуйте следующее:

    <input type="button" onclick="function1();function2();" value="Call2Functions" />
    
  • Или вызовите вторую функцию в конце первой функции:

       function func1(){
         //--- some logic
         func2();
       }
    
       function func2(){
        //--- some logic
       }
    

    ... и вызовите func1() onclick кнопки:

    <input type="button" onclick="func1();" value="Call2Functions" />
    

Ответ 2

Как сказано Гарри Джой, вы можете сделать это на onclick attr, как это:

<input type="button" onclick="func1();func2();" value="Call2Functions" />

Или в вашем JS так:

document.getElementById( 'Call2Functions' ).onclick = function()
{
    func1();
    func2();
};

Или, если вы программно назначаете onclick и не уверены, существовал ли предыдущий onclick (и не хотите перезаписывать его):

var Call2FunctionsEle = document.getElementById( 'Call2Functions' ),
    func1 = Call2FunctionsEle.onclick;

Call2FunctionsEle.onclick = function()
{
    if( typeof func1 === 'function' )
    {
        func1();
    }
    func2();
};

Если вам понадобятся функции, выполняемые в рамках элемента, который был нажат, может быть выполнено простое применение приложения:

document.getElementById( 'Call2Functions' ).onclick = function()
{
    func1.apply( this, arguments );
    func2.apply( this, arguments );
};

Ответ 3

Современный метод обработки событий:

element.addEventListener('click', startDragDrop, false);
element.addEventListener('click', spyOnUser, false);

Первый аргумент - это событие, второе - это функция, а третье указывает, разрешать ли пузырить события.

Из QuirksMode:

W3Cs DOM Уровень 2 Спецификация событий уделяет пристальное внимание проблемам традиционной модели. Он предлагает простой способ зарегистрировать столько обработчиков событий, сколько вам нравится для одного и того же события на одном элементе.

Ключом к модели регистрации событий W3C является метод addEventListener(). Вы даете ему три аргумента: тип события, выполняемую функцию и логическое (истинное или ложное), которое позже объясняет. Чтобы зарегистрировать нашу хорошо известную функцию doSomething() для onclick элемента, который вы делаете:

Полная информация здесь: http://www.quirksmode.org/js/events_advanced.html

Использование jQuery

Если вы используете jQuery, есть хороший API для обработки событий:

$('#myElement').bind('click', function() { doStuff(); });
$('#myElement').bind('click', function() { doMoreStuff(); });
$('#myElement').bind('click', doEvenMoreStuff);

Полная информация здесь: http://api.jquery.com/category/events/

Ответ 4

<input type="button" onclick="functionA();functionB();" />

function functionA()
{

}

function functionB()
{

}

Ответ 5

Привет,

Вы также можете сделать так, как показано ниже... Таким образом, ваши обе функции должны вызывать, и если обе функции возвращают true, тогда он вернет true else return false.

<input type="button" 
     onclick="var valFunc1 = func1(); var valFunc2 = func2(); if(valFunc1 == true && valFunc2 ==true) {return true;} else{return false;}" 
     value="Call2Functions" />

Спасибо, Vishal Patel