2013-04-15 9 views
72

HTML & JSからの二つの機能コール同じonclickの

? はここに私のコード

<input id ="btn" type="button" value="click" onclick="pay() cls()"/> 

二つの機能であること賃金()およびCLSです()。 ありがとう!

+24

こんにちはセミコロン、親愛なるステートメントターミネーター。 'pay(); cls() ' – elclanrs

+3

あなたの引用符の中にあるものはジャバスクリプトです。セミコロンを使用してJava文を区切ります。すなわち: 'pay(); – Kyle

答えて

128

は、それらの両方が動作するための関数呼び出しの終わりにセミコロン;を追加します。

<input id="btn" type="button" value="click" onclick="pay(); cls();"/> 

私は最後のものが必要であると信じていませんが、ちょっと、同様に良好な測定のためにそれを追加することができます。ここで

SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

14

あなたは、あなたがそれらの両方を呼び出し、単一の関数を作成し、イベントでそれを使用することができます別の関数

<input id ="btn" type="button" value="click" onclick="todo()"/> 

function todo(){ 
pay(); cls(); 
} 
+6

この回答から1年以上経ちましたが、今私はほぼ同じ時間に同じ回答を投稿したことに気が付きました(しかし、あなたは1分後に私のことを+1してしまいました)。 – Renan

29

内から関数を呼び出すことができます。

function myFunction(){ 
    pay(); 
    cls(); 
} 

そして、ボタンの:

<input id="btn" type="button" value="click" onclick="myFunction();"/> 
+2

それはできますが、私にはそれほど透明ではないか、funtion1_function2()のような名前をつけることができますが、funcitonsは関連していないと思われます。 – Muflix

4

から良い参照はjQueryを使って、この

<input id ="btn" type="button" value="click" onclick="pay();cls()"/> 
7

を試してみてくださいです:

jQuery("#btn").on("click",function(event){ 
    event.preventDefault(); 
    pay(); 
    cls(); 
}); 
6

ただ、いくつかの多様性を提供するために、comma operatorがあまりにも使用することができますが、いくつかのかもしれません「noooooo!」と言うが、動作する:

<input type="button" onclick="one(), two(), three(), four()"/> 
01これに

http://jsbin.com/oqizir/1/edit

5
onclick="pay(); cls();" 

しかし、あなたは「給与」機能でreturnステートメントを使用している場合、実行が停止し、「CLS」は実行されません、

回避策:

onclick="var temp = function1();function2(); return temp;" 
5

ステートメントターミネータとして2つの関数の間にセミコロンを挿入します。

6

htmlのイベントをバインドすることはお勧めできません。これはお勧めの方法です:

document.getElementById('btn').addEventListener('click', function(){ 
    pay(); 
    cls(); 
}); 
関連する問題