0

私はこの問題に直面しています:

<p class="pushButton">
  <a href="javascript:return;"
      onclick="SetOkCodeButton('=SC_ORDER', 'BBPForm', '', '',''); 
      return false;" name="Order" class="pushButton" 
      title="Orders your shopping cart. This completes the operation "
      onmouseover="status=' ';return true;"  onmouseout="status=' ';">
      &nbsp;Order&nbsp;
  </a>
</p>

<p class="pushButton">
  <a href="javascript:return;" 
      onclick="SetOkCodeButton('=SC_REFRESH', 'BBPForm', '', '',''); 
      return false;" name="Refresh" class="pushButton" 
      title="Updates all details according to your changes. "
      onmouseover="status=' ';return true;"  onmouseout="status=' ';">
      &nbsp;Refresh&nbsp;
   </a>
</p>

ORDERボタンの機能を変更する必要があります。イベントが生成される直前にREFRESH(イベントを生成する) 機能をトリガーする必要があります。SC_REFRESHSC_ORDER

onlickこれは、ORDERボタンの1 つで 2 つのイベントをトリガーする必要があることを意味しREFRESHますORDER。2 つのイベントの間に 2 秒のタイム ブレークがあります。の機能はREFRESH変わりません。

4

3 に答える 3

2

A)。2 秒の遅延の理由は何ですか? これは非常に疑わしいです...

B)。どのメソッドも、1 つのことをうまく達成する必要があります。メソッド内で REFRESH と ORDER に異なる機能を作成すると、実際には 2 つに分割する必要がある 2 つのメソッドがあることがわかります (おそらく両方とも共通の 3 番目の関数を呼び出します)。投稿するにフォームを更新してください。

C)。これが本当に必要な場合は、setTimeoutを使用してタイマーを新しく分割されたメソッド自体に導入することができますが、既存の実装を続行する場合は、 onclick 属性自体で推測しますが、今は乱雑になります。次のように書きます。

onclick="SetOkCodeButton('=SC_REFRESH', 'BBPForm', '', '',''); setTimeout(function(){SetOkCodeButton('=SC_ORDER', 'BBPForm', '', '','');},2000);"

ただし、setTimeout は非同期であることに注意してください。実際の wait() メソッドが必要な場合は、自分で作成する必要があります (これらはプロセッサに負荷がかかります)。

D)。戻り false も非常に疑わしいです...

E)。マウスアウトとオーバーも同様ですが、これは自動生成されたコードですか?

于 2009-03-23T11:28:48.707 に答える