您好我正在使用jquery来检测是否已将@符号插入到可信任的div中。检测到此情况时,会向服务器触发ajax请求以检索用户列表。然后用户点击用户名(功能adduser将触发),它将在div中创建一个禁用的textarea。 然后我动态创建一个输入,并将用户的id选为值(通知他)
我遇到的问题是,如果我从contenteditable div中删除textarea(一个用户名),我怎么知道textarea是什么,所以删除输入哪个用户id为值?
我的剧本:
function adduser(fname, lname, id, q)
{
var fname = fname;
var lname = lname;
var id = id;
var word = '@' + q;
var iid = 'id' + id;
var old=$("#contentbox").html();
var content=old.replace(word,"");
$("#contentbox").html(content);
var E="<textarea class='textareamention' name="+id+" id="+iid+" disabled >"+fname+"</textarea>";
$("#contentbox").append(E);
$('<input/>').attr({ type: 'text', name: 'mention[]', id: id, value: id}).appendTo('#post');
}
我满意的div id是contentbox。
谢谢
答案 0 :(得分:0)
要删除元素,您可以使用remove()
方法或只使用hide()
元素。
例如:
$("#input_id").remove();
或者
$("#input_id").hide();
正如我从您的代码中看到的那样,您正在动态生成TextArea。因此,与此同时,您可以创建一个事件,如下所示。
如果要检测是否删除了某个特定元素,则必须先设置该事件。
$("#myTextArea").on("remove", function () {
console.log("Element was removed");
})
更新
这是一个有效的 FIDDLE 。
注意:为了使用remove()
事件,您还必须在代码中包含Jquery UI和Jquery。
希望这有帮助。