私はniceditを使用しています。
クリックするとniceditテキストフィールドに変わるデフォルトのhtmlテキストエリアを作成しようとしています。フォーカスが失われたときに、プレーンなhtmlテキストエリアに戻したいです。1つのテキストエリアだけを使用するとこれを正常に実行できましたが、2つのテキストエリアを使用すると(Firefoxで)奇妙なことが起こります。次のスクリプトを使用します。
<script type="text/javascript" src="http://js.nicedit.com/nicEdit-latest.js"></script> <script type="text/javascript">
function fieldname_1()
{
area = new nicEditor({fullPanel : true}).panelInstance('fieldname');
area.addEvent('blur', function()
{
area.removeInstance('fieldname');
area = null;
document.getElementById("fieldname").onclick=function(){fieldname_2()}
});
}
function fieldname_2()
{
area = new nicEditor({fullPanel : true}).panelInstance('fieldname');
area.addEvent('blur', function()
{
area.removeInstance('fieldname');
area = null;
document.getElementById("fieldname").onclick=function(){fieldname_1()}
});
}
function fieldname2_1()
{
area = new nicEditor({fullPanel : true}).panelInstance('fieldname2');
area.addEvent('blur', function()
{
area.removeInstance('fieldname2');
area = null;
document.getElementById("fieldname2").onclick=function(){fieldname2_2()}
});
}
function fieldname2_2()
{
area = new nicEditor({fullPanel : true}).panelInstance('fieldname2');
area.addEvent('blur', function()
{
area.removeInstance('fieldname2');
area = null;
document.getElementById("fieldname2").onclick=function(){fieldname2_1()}
});
}
</script>
<TEXTAREA id="fieldname" cols="35" onclick="fieldname_1();" ></TEXTAREA>
<br><br><br>
<TEXTAREA id="fieldname2" cols="35" onclick="fieldname2_1();" >Test text</TEXTAREA>
最初にクリックしてフォーカスを解除したテキストエリアは完全に機能しますが、2番目にクリックしたテキストエリアはフォーカスを解除しようとしても消えません。私は何が間違っているのですか?