0

要素ツリーをコピーしようとしています。このプロセスでは、名前などのパラメーターの一部を変更する必要があります。パラメーターは、元の要素に割り当てられた関数に渡されます。要素のonclickおよびその他のメソッドを設定するにはどうすればよいですか。

例えば:

<table>
 <tr>
  <td>
    <select name="abc(0)" onclick="func(0)">
      <option> 1</option>
    </select>
  </td>
  <td>
    <input type="text" onkeypress="keyp(0)" name="text(0)">
  </td>
 </tr>
</table>

cloneNode(true) などのさまざまな方法を試し、ノード名の名前を変更して、割り当てられたメソッドパラメーターを変更しようとしました。私も document.createElement で要素を作成しようとしましたが、IEでは名前が変更されていません。2 番目のオプションでは、名前を設定することすらありません。メソッドも変更されていません.2番目のアプローチでは、割り当てさえされていませんでした。

誰かが私が間違っているところを教えてください。

ありがとう&よろしくアミット

4

2 に答える 2

0

最良のオプションは、on_event_ 属性を取り除き、代わりにイベント リスナーを使用するように JavaScript をリファクタリングすることだと思います。そうすれば、イベントを処理するコードはマークアップから完全に分離され、複製によって問題が発生することはありません。

最初はページに存在しない複製された要素に対してイベント ハンドラーを呼び出す必要があるため、委任されたイベントを使用する必要があることに注意してください。

于 2012-05-23T05:19:09.043 に答える