クローンで行を追加するテーブルがあります。しかし、セルがクリックされたときにonFocusを使ってテキストを消去することはできません。コードの断片(私はこの2週間前に私にダンプしているので、私は座席のパンツでJavascriptを勉強しています):クローンされた要素でonfocus()が失敗する
function AddRow()
{
var mytable=document.getElementById("newSystem");
var rowClone=document.getElementById("sysrow").cloneNode(true);
rowClone.cells[0].innerHTML='<input type="text" name="SysName[]" value="host.myhouse.com" onFocus="this.value=\'\';this.onfocus=\'\';" />';
myTable.appandChild(rowClone);
}
クローンが由来する元の行は次のようになります。
<tr id="sysrow">
<td>
<input type="text" name="SysName[]" value="host.myhouse.com" onFocus="this.value='';this.onfocus='';" />;
</td>
</tr>
元のonFocusは正常に動作します。 onFocusをクローンスクリプトに挿入すると、何も行われません(新しい行は挿入されません)。 onFocusを削除すると、クローンされた行が挿入されますが、フォーカスを当てるとテキストはクリアされません。
私は何か間違っているか、onFocusはクローンでは動作しませんか?
ONFOCUSは、スクリプトのどこか定義された関数であるべきか?あなたはそのコードを投稿できますか? –
'this.onfocus ='?...このステートメントは* in *インラインアトリビュートイベントハンドラ* onfocus'を持っていますか?* 'this.onclick'は' onclick'の内部にあると意味がありますか? – zer00ne