gpt4 book ai didi

Javascript:在 html textarea 和 nicedit 之间切换的问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:13 26 4
gpt4 key购买 nike

我正在使用 nicedit .

我一直在尝试创建一个默认的 html 文本区域,当您单击它时,它会变成一个 nicedit 文本字段。我希望它在失去焦点时恢复为纯 html textarea。当我只使用一个文本区域时,我已经能够成功地做到这一点,但是,当我使用两个文本区域时,奇怪的事情发生了(在 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>

您单击并取消聚焦的第一个文本区域运行良好,但是,您单击的第二个文本区域在尝试取消聚焦时不会消失。我做错了什么?

最佳答案

你不能用超过一个文本区域来解决这个问题,那么 1000 个呢?

<!DOCTYPE html>

<html>
<head>
<meta charset = "utf-8">

<title></title>

<script src = "http://js.nicedit.com/nicEdit-latest.js"></script>

<script>
window.onload = function () {
var body = document.body;
var limit = 1000;

for (var i = 0; i < limit; i ++) {
var textarea = document.createElement ("textarea");
textarea.style.height = "100px";
textarea.style.width = "100%";

body.appendChild (textarea);
}

// The magic
body.addEventListener ("click", function (event) {
var target = event.target;

if (target.nodeName === "TEXTAREA") {
var area = new nicEditor ({fullPanel : true}).panelInstance (target);

area.addEvent ("blur", function () {
this.removeInstance (target);
});
}
}, false);
}
</script>

<style>
textarea {
height: 100px;
margin-bottom: 20px;
width: 1000px;
}
</style>
</head>

<body>
<!-- Create any textarea you want -->
</body>
</html>

enter image description here

关于Javascript:在 html textarea 和 nicedit 之间切换的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com