2

私はこのようなことを試みています

<div onclick="check_update('personal_details') ; showUser(2)">Click me </div>

ただし、check_update('personal_details')のみが呼び出されます。DIVをクリックしたときに2つの別々の関数を同時に実行したい。私はまだ学習段階にあるので、どんな助けでも私にとって素晴らしいでしょう。前もって感謝します。

4

3 に答える 3

7

2つの機能を同時に実行することはできません。WebブラウザのJavaScriptはシングルスレッドです。

あなたが持っているコードは、最初のコードが例外をスローして実行を終了しない限り、関数を順番に実行します。

例外がスローされる場合は、それを解決してみてください。ブルートフォースハックとして:

try {
    check_update('personal_details') ; 
} catch (e) {
    alert("Oh no! An exception! " + e);
}
showUser(2);

…しかし、そもそもエラーを防ぐことは、明らかに、より良い解決策です!

于 2012-05-08T12:29:49.183 に答える
3

あなたの質問は jQuery としてタグ付けされているので、それを使用していると仮定します。その場合、 onclick 属性をまったく使用しないでください。これは、jQuery の観点からコードを記述する正しい方法です。

<div id="yourId">Click me</div>

<script type="text/javascript">
$('#yourId').click(function(e) {
    e.preventDefault();
    check_update('personal_details'); 
    showUser(2);
});
</script>
于 2012-05-08T12:31:45.983 に答える
2

クロージャ内で関数を使用します。otherFunction呼び出したい2番目の関数の名前に置き換えれば、すべてが期待どおりに機能するはずです。

<div onclick="(function(){check_update('personal_details'); otherFunction(); })()">Click me </div>
于 2012-05-08T12:28:54.183 に答える